diff --git a/apps/dokploy/components/dashboard/settings/appearance-form.tsx b/apps/dokploy/components/dashboard/settings/appearance-form.tsx index 29b8bb94d..eb615d0fc 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", "de", "tr", "zh-Hant", "zh-Hans"], { + language: z.enum(["en", "pl", "ru", "fr", "de", "tr", "zh-Hant", "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: "Français", value: "fr" }, { label: "Deutsch", value: "de" }, { label: "繁體中文", value: "zh-Hant" }, { label: "简体中文", value: "zh-Hans" }, diff --git a/apps/dokploy/next-i18next.config.cjs b/apps/dokploy/next-i18next.config.cjs index 853cbf86b..652ea02b5 100644 --- a/apps/dokploy/next-i18next.config.cjs +++ b/apps/dokploy/next-i18next.config.cjs @@ -1,10 +1,10 @@ /** @type {import('next-i18next').UserConfig} */ module.exports = { - i18n: { - defaultLocale: "en", - locales: ["en", "pl", "ru", "de", "tr", "zh-Hant", "zh-Hans"], - localeDetection: false, - }, - fallbackLng: "en", - keySeparator: false, + i18n: { + defaultLocale: "en", + locales: ["en", "pl", "ru", "fr", "de", "tr", "zh-Hant", "zh-Hans"], + localeDetection: false, + }, + fallbackLng: "en", + keySeparator: false, }; diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index 7050ce9ee..92b30cca7 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", "de", "tr", "zh-Hant", "zh-Hans"], + locales: ["en", "pl", "ru", "fr", "de", "tr", "zh-Hant", "zh-Hans"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/public/locales/fr/common.json b/apps/dokploy/public/locales/fr/common.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/apps/dokploy/public/locales/fr/common.json @@ -0,0 +1 @@ +{} diff --git a/apps/dokploy/public/locales/fr/settings.json b/apps/dokploy/public/locales/fr/settings.json new file mode 100644 index 000000000..8901cf1fc --- /dev/null +++ b/apps/dokploy/public/locales/fr/settings.json @@ -0,0 +1,44 @@ +{ + "settings.common.save": "Sauvegarder", + "settings.server.domain.title": "Nom de domaine du serveur", + "settings.server.domain.description": "Ajouter un nom de domaine au serveur de votre application.", + "settings.server.domain.form.domain": "Domaine", + "settings.server.domain.form.letsEncryptEmail": "Adresse email Let's Encrypt", + "settings.server.domain.form.certificate.label": "Certificat", + "settings.server.domain.form.certificate.placeholder": "Choisir un certificat", + "settings.server.domain.form.certificateOptions.none": "Aucun", + "settings.server.domain.form.certificateOptions.letsencrypt": "Let's Encrypt (Par défaut)", + + "settings.server.webServer.title": "Serveur web", + "settings.server.webServer.description": "Recharger ou nettoyer le serveur web.", + "settings.server.webServer.actions": "Actions", + "settings.server.webServer.reload": "Recharger", + "settings.server.webServer.watchLogs": "Consulter les logs", + "settings.server.webServer.updateServerIp": "Mettre à jour l'IP du serveur", + "settings.server.webServer.server.label": "Serveur", + "settings.server.webServer.traefik.label": "Traefik", + "settings.server.webServer.traefik.modifyEnv": "Modifier les variables d'environnement", + "settings.server.webServer.storage.label": "Stockage", + "settings.server.webServer.storage.cleanUnusedImages": "Supprimer les images inutilisées", + "settings.server.webServer.storage.cleanUnusedVolumes": "Supprimer les volumes inutilisés", + "settings.server.webServer.storage.cleanStoppedContainers": "Supprimer les conteneurs arrêtés", + "settings.server.webServer.storage.cleanDockerBuilder": "Nettoyer le Docker Builder & System", + "settings.server.webServer.storage.cleanMonitoring": "Nettoyer le monitoring", + "settings.server.webServer.storage.cleanAll": "Tout nettoyer", + + "settings.profile.title": "Compte", + "settings.profile.description": "Modifier les informations de votre compte ici.", + "settings.profile.email": "Adresse Email", + "settings.profile.password": "Mot de passe", + "settings.profile.avatar": "Photo de profil", + + "settings.appearance.title": "Apparence", + "settings.appearance.description": "Customiser le thème de votre dashboard.", + "settings.appearance.theme": "Thème", + "settings.appearance.themeDescription": "Choisir un thème pour votre dashboard", + "settings.appearance.themes.light": "Clair", + "settings.appearance.themes.dark": "Sombre", + "settings.appearance.themes.system": "Système", + "settings.appearance.language": "Langue", + "settings.appearance.languageDescription": "Sélectionner une langue pour votre dashboard" +} diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts index f261ec84c..981bc5a42 100644 --- a/apps/dokploy/utils/hooks/use-locale.ts +++ b/apps/dokploy/utils/hooks/use-locale.ts @@ -4,6 +4,7 @@ const SUPPORTED_LOCALES = [ "en", "pl", "ru", + "fr", "de", "tr", "zh-Hant",