diff --git a/apps/website/app/[locale]/page.tsx b/apps/website/app/[locale]/page.tsx
new file mode 100644
index 00000000..b459b2da
--- /dev/null
+++ b/apps/website/app/[locale]/page.tsx
@@ -0,0 +1,25 @@
+import { CallToAction } from '@/components/CallToAction'
+import { Faqs } from '@/components/Faqs'
+import { Footer } from '@/components/Footer'
+import { Header } from '@/components/Header'
+import { Hero } from '@/components/Hero'
+import { PrimaryFeatures } from '@/components/PrimaryFeatures'
+import { SecondaryFeatures } from '@/components/SecondaryFeatures'
+import { Testimonials } from '../../components/Testimonials'
+
+export default function Home() {
+ return (
+
+
+
+
+
+
+
+ {/* */}
+
+
+
+
+ )
+}
diff --git a/apps/website/app/page.tsx b/apps/website/app/page.tsx
deleted file mode 100644
index 2847ee10..00000000
--- a/apps/website/app/page.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { CallToAction } from "../components/CallToAction";
-import { Faqs } from "../components/Faqs";
-import { Footer } from "../components/Footer";
-import { Header } from "../components/Header";
-import { Hero } from "../components/Hero";
-import { PrimaryFeatures } from "../components/PrimaryFeatures";
-import { SecondaryFeatures } from "../components/SecondaryFeatures";
-import { Testimonials } from "../components/Testimonials";
-
-export default function Home() {
- return (
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
- );
-}
diff --git a/apps/website/components/CallToAction.tsx b/apps/website/components/CallToAction.tsx
index 6c7b5a1f..ac225284 100644
--- a/apps/website/components/CallToAction.tsx
+++ b/apps/website/components/CallToAction.tsx
@@ -1,12 +1,14 @@
-import { Container } from "@/components/Container";
-import Link from "next/link";
-import { Button } from "./ui/button";
+import { Container } from '@/components/Container'
+import Link from 'next/link'
+import { Button } from './ui/button'
+import { useTranslations } from 'next-intl'
export function CallToAction() {
+ const t = useTranslations('HomePage')
return (
-
+
@@ -27,30 +34,28 @@ export function CallToAction() {
-
+
- Unlock Your Deployment Potential
+ {t('callToAction.title')}
- Streamline your deployments with our PaaS. Effortlessly manage
- Docker containers and traffic with Traefik. Boost your
- infrastructure's efficiency and security today
+ {t('callToAction.des')}
{/* @ts-expect-error */}
-
- );
+ )
}
diff --git a/apps/website/components/Faqs.tsx b/apps/website/components/Faqs.tsx
index 117b4d00..f84fe5c4 100644
--- a/apps/website/components/Faqs.tsx
+++ b/apps/website/components/Faqs.tsx
@@ -1,63 +1,58 @@
-import { Container } from "./Container";
+import { useTranslations } from 'next-intl'
+import { Container } from './Container'
const faqs = [
[
{
- question: "What is dokploy?",
- answer:
- "Dokploy is a stable, easy-to-use deployment solution designed to simplify the application management process. Think of Dokploy as a free alternative self-hostable solution to platforms like Heroku, Vercel, and Netlify.",
+ question: 'faq.q1',
+ answer: 'faq.a2',
},
{
- question: "Why Choose Dokploy?",
- answer: "Simplicity, Flexibility, and Fast",
+ question: 'faq.q2',
+ answer: 'faq.a2',
},
{
- question: "Is free?",
- answer:
- "Yes, dokploy is totally free. You can use it for personal projects, small teams, or even for large-scale applications.",
+ question: 'faq.q3',
+ answer: 'faq.a3',
},
{
- question: "Is it open source?",
- answer: "Yes, dokploy is open source and free to use.",
+ question: 'faq.q4',
+ answer: 'faq.a4',
},
],
[
{
- question: "What type of applications can i deploy with dokploy?",
- answer:
- "Dokploy is a great choice for any type of application. You can deploy your code to dokploy and manage it from the dashboard. We support a wide range of languages and frameworks, so you can choose the one that best fits your needs.",
+ question: 'faq.q5',
+ answer: 'faq.a5',
},
{
- question: "How do I request a feature or report a bug?",
- answer:
- "Currently we are working on fixing bug fixes, but we will be releasing new features soon. You can also request features or report bugs.",
+ question: 'faq.q6',
+ answer: 'faq.a6',
},
{
- question: "Do you track the usage of Dokploy?",
- answer: "No, we don't track any usage data.",
+ question: 'faq.q7',
+ answer: "faq.a7",
},
],
[
{
question:
- "Are there any user forums or communities where I can interact with other users?",
- answer:
- "Yes, we have active github discussions where you can share ideas, ask for help, and connect with other users.",
+ 'faq.q8',
+ answer: 'faq.a8',
},
{
- question: "What types of applications can I deploy with Dokploy?",
- answer:
- "Dokploy supports a variety of applications, including those built with Docker, as well as applications from any Git repository, offering custom builds with Nixpacks, Dockerfiles, or Buildpacks like Heroku and Paketo.",
+ question: 'faq.q9',
+ answer: 'faq.a9',
},
{
- question: "How does Dokploy handle database management?",
- answer:
- "Dokploy supports multiple database systems including Postgres, MySQL, MariaDB, MongoDB, and Redis, providing tools for easy deployment and management directly from the dashboard.",
+ question: 'faq.q10',
+ answer: 'faq.a10',
},
],
-];
+]
export function Faqs() {
+ const t = useTranslations('HomePage')
return (
- Frequently asked questions
+ {t('faq.title')}
- If you can’t find what you’re looking for, email our support team
- and if you’re lucky someone will get back to you.
+ {t('faq.des')}