From 96b2579d694566190ca93bd36a1ea870375bc505 Mon Sep 17 00:00:00 2001 From: Dominik Koch Date: Wed, 20 Nov 2024 11:30:59 +0000 Subject: [PATCH 1/3] feat(i18n): add german language support --- .../dashboard/settings/appearance-form.tsx | 3 +- apps/dokploy/next-i18next.config.cjs | 2 +- apps/dokploy/pages/_app.tsx | 2 +- apps/dokploy/public/locales/de/common.json | 1 + apps/dokploy/public/locales/de/settings.json | 44 +++++++++++++++++++ apps/dokploy/utils/hooks/use-locale.ts | 2 +- 6 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 apps/dokploy/public/locales/de/common.json create mode 100644 apps/dokploy/public/locales/de/settings.json diff --git a/apps/dokploy/components/dashboard/settings/appearance-form.tsx b/apps/dokploy/components/dashboard/settings/appearance-form.tsx index 40247fb5..38f0d48b 100644 --- a/apps/dokploy/components/dashboard/settings/appearance-form.tsx +++ b/apps/dokploy/components/dashboard/settings/appearance-form.tsx @@ -37,7 +37,7 @@ const appearanceFormSchema = z.object({ theme: z.enum(["light", "dark", "system"], { required_error: "Please select a theme.", }), - language: z.enum(["en", "pl", "ru", "zh-Hans"], { + language: z.enum(["en", "pl", "ru", "de", "zh-Hans"], { required_error: "Please select a language.", }), }); @@ -176,6 +176,7 @@ export function AppearanceForm() { { label: "English", value: "en" }, { label: "Polski", value: "pl" }, { label: "Русский", value: "ru" }, + { label: "Deutsch", value: "de" }, { label: "简体中文", value: "zh-Hans" }, ].map((preset) => ( diff --git a/apps/dokploy/next-i18next.config.cjs b/apps/dokploy/next-i18next.config.cjs index eaefab3f..6d4a88e8 100644 --- a/apps/dokploy/next-i18next.config.cjs +++ b/apps/dokploy/next-i18next.config.cjs @@ -2,7 +2,7 @@ module.exports = { i18n: { defaultLocale: "en", - locales: ["en", "pl", "ru", "zh-Hans"], + locales: ["en", "pl", "ru", "de", "zh-Hans"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index 9b621a45..54f9238a 100644 --- a/apps/dokploy/pages/_app.tsx +++ b/apps/dokploy/pages/_app.tsx @@ -71,7 +71,7 @@ export default api.withTRPC( { i18n: { defaultLocale: "en", - locales: ["en", "pl", "ru", "zh-Hans"], + locales: ["en", "pl", "ru", "de", "zh-Hans"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/public/locales/de/common.json b/apps/dokploy/public/locales/de/common.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/apps/dokploy/public/locales/de/common.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/apps/dokploy/public/locales/de/settings.json b/apps/dokploy/public/locales/de/settings.json new file mode 100644 index 00000000..3125dbdf --- /dev/null +++ b/apps/dokploy/public/locales/de/settings.json @@ -0,0 +1,44 @@ +{ + "settings.common.save": "Speichern", + "settings.server.domain.title": "Server-Domain", + "settings.server.domain.description": "Füg eine Domain zu deiner Server-Anwendung hinzu.", + "settings.server.domain.form.domain": "Domain", + "settings.server.domain.form.letsEncryptEmail": "Let's Encrypt E-Mail", + "settings.server.domain.form.certificate.label": "Zertifikat", + "settings.server.domain.form.certificate.placeholder": "Wähl ein Zertifikat aus", + "settings.server.domain.form.certificateOptions.none": "Keins", + "settings.server.domain.form.certificateOptions.letsencrypt": "Let's Encrypt (Standard)", + + "settings.server.webServer.title": "Web-Server", + "settings.server.webServer.description": "Lade den Web-Server neu oder reinige ihn.", + "settings.server.webServer.actions": "Aktionen", + "settings.server.webServer.reload": "Neu laden", + "settings.server.webServer.watchLogs": "Logs anschauen", + "settings.server.webServer.updateServerIp": "Server-IP Aktualisieren", + "settings.server.webServer.server.label": "Server", + "settings.server.webServer.traefik.label": "Traefik", + "settings.server.webServer.traefik.modifyEnv": "Umgebungsvariablen ändern", + "settings.server.webServer.storage.label": "Speicherplatz", + "settings.server.webServer.storage.cleanUnusedImages": "Nicht genutzte Bilder löschen", + "settings.server.webServer.storage.cleanUnusedVolumes": "Nicht genutzte Volumes löschen", + "settings.server.webServer.storage.cleanStoppedContainers": "Gestoppte Container löschen", + "settings.server.webServer.storage.cleanDockerBuilder": "Docker Builder & System bereinigen", + "settings.server.webServer.storage.cleanMonitoring": "Monitoring bereinigen", + "settings.server.webServer.storage.cleanAll": "Alles bereinigen", + + "settings.profile.title": "Konto", + "settings.profile.description": "Ändere die Details deines Profiles hier.", + "settings.profile.email": "E-Mail", + "settings.profile.password": "Passwort", + "settings.profile.avatar": "Avatar", + + "settings.appearance.title": "Aussehen", + "settings.appearance.description": "Pass das Design deines Dashboards an.", + "settings.appearance.theme": "Theme", + "settings.appearance.themeDescription": "Wähl ein Theme für dein Dashboard aus", + "settings.appearance.themes.light": "Hell", + "settings.appearance.themes.dark": "Dunkel", + "settings.appearance.themes.system": "System", + "settings.appearance.language": "Sprache", + "settings.appearance.languageDescription": "Wähl eine Sprache für dein Dashboard aus" +} diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts index e45a0e6e..5aa5bf62 100644 --- a/apps/dokploy/utils/hooks/use-locale.ts +++ b/apps/dokploy/utils/hooks/use-locale.ts @@ -1,6 +1,6 @@ import Cookies from "js-cookie"; -const SUPPORTED_LOCALES = ["en", "pl", "ru", "zh-Hans"] as const; +const SUPPORTED_LOCALES = ["en", "pl", "ru", "de", "zh-Hans"] as const; type Locale = (typeof SUPPORTED_LOCALES)[number]; From 6d674a4c6bc0031bb7cfaa5d1fa4051c5bdb5752 Mon Sep 17 00:00:00 2001 From: Dominik Koch Date: Wed, 20 Nov 2024 11:34:13 +0000 Subject: [PATCH 2/3] fix: code format --- apps/dokploy/public/locales/de/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/public/locales/de/common.json b/apps/dokploy/public/locales/de/common.json index 9e26dfee..0967ef42 100644 --- a/apps/dokploy/public/locales/de/common.json +++ b/apps/dokploy/public/locales/de/common.json @@ -1 +1 @@ -{} \ No newline at end of file +{} From 6dff11af227449e47376ecef3535e377aca628f4 Mon Sep 17 00:00:00 2001 From: Dominik Koch Date: Wed, 20 Nov 2024 11:35:57 +0000 Subject: [PATCH 3/3] fix: formatting again --- apps/dokploy/public/locales/de/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/public/locales/de/settings.json b/apps/dokploy/public/locales/de/settings.json index 3125dbdf..e2ba0623 100644 --- a/apps/dokploy/public/locales/de/settings.json +++ b/apps/dokploy/public/locales/de/settings.json @@ -14,7 +14,7 @@ "settings.server.webServer.actions": "Aktionen", "settings.server.webServer.reload": "Neu laden", "settings.server.webServer.watchLogs": "Logs anschauen", - "settings.server.webServer.updateServerIp": "Server-IP Aktualisieren", + "settings.server.webServer.updateServerIp": "Server-IP Aktualisieren", "settings.server.webServer.server.label": "Server", "settings.server.webServer.traefik.label": "Traefik", "settings.server.webServer.traefik.modifyEnv": "Umgebungsvariablen ändern",