From cbbbe44802157be0c89455c070e162f2670d8e7d Mon Sep 17 00:00:00 2001 From: Pedro Ramon Date: Wed, 4 Dec 2024 07:39:36 -0300 Subject: [PATCH] feat(i18n): add portuguese language support --- .../dashboard/settings/appearance-form.tsx | 3 +- apps/dokploy/next-i18next.config.cjs | 1 + apps/dokploy/pages/_app.tsx | 1 + apps/dokploy/public/locales/pt-br/common.json | 1 + .../public/locales/pt-br/settings.json | 44 +++++++++++++++++++ apps/dokploy/utils/hooks/use-locale.ts | 1 + 6 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 apps/dokploy/public/locales/pt-br/common.json create mode 100644 apps/dokploy/public/locales/pt-br/settings.json diff --git a/apps/dokploy/components/dashboard/settings/appearance-form.tsx b/apps/dokploy/components/dashboard/settings/appearance-form.tsx index 2a3f5132..e9edbfe1 100644 --- a/apps/dokploy/components/dashboard/settings/appearance-form.tsx +++ b/apps/dokploy/components/dashboard/settings/appearance-form.tsx @@ -38,7 +38,7 @@ const appearanceFormSchema = z.object({ required_error: "Please select a theme.", }), language: z.enum( - ["en", "pl", "ru", "fr", "de", "tr", "zh-Hant", "zh-Hans", "fa", "ko"], + ["en", "pl", "ru", "fr", "de", "tr", "zh-Hant", "zh-Hans", "fa", "ko", "pt-br"], { required_error: "Please select a language.", }, @@ -186,6 +186,7 @@ export function AppearanceForm() { { label: "Türkçe", value: "tr" }, { label: "Persian", value: "fa" }, { label: "한국어", value: "ko" }, + { label: "Português", value: "pt-br" }, ].map((preset) => ( {preset.label} diff --git a/apps/dokploy/next-i18next.config.cjs b/apps/dokploy/next-i18next.config.cjs index adf741e9..ac4a5d06 100644 --- a/apps/dokploy/next-i18next.config.cjs +++ b/apps/dokploy/next-i18next.config.cjs @@ -13,6 +13,7 @@ module.exports = { "zh-Hans", "fa", "ko", + "pt-br", ], localeDetection: false, }, diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index 17b986c5..d7034c97 100644 --- a/apps/dokploy/pages/_app.tsx +++ b/apps/dokploy/pages/_app.tsx @@ -82,6 +82,7 @@ export default api.withTRPC( "zh-Hans", "fa", "ko", + "pt-br", ], localeDetection: false, }, diff --git a/apps/dokploy/public/locales/pt-br/common.json b/apps/dokploy/public/locales/pt-br/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/apps/dokploy/public/locales/pt-br/common.json @@ -0,0 +1 @@ +{} diff --git a/apps/dokploy/public/locales/pt-br/settings.json b/apps/dokploy/public/locales/pt-br/settings.json new file mode 100644 index 00000000..fc964be6 --- /dev/null +++ b/apps/dokploy/public/locales/pt-br/settings.json @@ -0,0 +1,44 @@ +{ + "settings.common.save": "Salvar", + "settings.server.domain.title": "Domínio do Servidor", + "settings.server.domain.description": "Configure o domínio do servidor", + "settings.server.domain.form.domain": "Domínio", + "settings.server.domain.form.letsEncryptEmail": "Email do Let's Encrypt", + "settings.server.domain.form.certificate.label": "Certificado", + "settings.server.domain.form.certificate.placeholder": "Selecione um Certificado", + "settings.server.domain.form.certificateOptions.none": "Nenhum", + "settings.server.domain.form.certificateOptions.letsencrypt": "Let's Encrypt (Padrão)", + + "settings.server.webServer.title": "Servidor web", + "settings.server.webServer.description": "Limpar e recarregar servidor web.", + "settings.server.webServer.actions": "Ações", + "settings.server.webServer.reload": "Recarregar", + "settings.server.webServer.watchLogs": "Ver logs", + "settings.server.webServer.updateServerIp": "Atualizar IP do Servidor", + "settings.server.webServer.server.label": "Servidor", + "settings.server.webServer.traefik.label": "Traefik", + "settings.server.webServer.traefik.modifyEnv": "Alterar Env", + "settings.server.webServer.storage.label": "Armazenamento", + "settings.server.webServer.storage.cleanUnusedImages": "Limpar imagens não utilizadas", + "settings.server.webServer.storage.cleanUnusedVolumes": "Limpar volumes não utilizados", + "settings.server.webServer.storage.cleanStoppedContainers": "Limpar containers parados", + "settings.server.webServer.storage.cleanDockerBuilder": "Limpar Docker Builder & System", + "settings.server.webServer.storage.cleanMonitoring": "Limpar Monitoramento", + "settings.server.webServer.storage.cleanAll": "Limpar Tudo", + + "settings.profile.title": "Conta", + "settings.profile.description": "Altere os detalhes do seu perfil aqui.", + "settings.profile.email": "Email", + "settings.profile.password": "Senha", + "settings.profile.avatar": "Avatar", + + "settings.appearance.title": "Aparência", + "settings.appearance.description": "Personalize o tema do seu dashboard.", + "settings.appearance.theme": "Tema", + "settings.appearance.themeDescription": "Selecione um tema para o dashboard", + "settings.appearance.themes.light": "Claro", + "settings.appearance.themes.dark": "Escuro", + "settings.appearance.themes.system": "Automático", + "settings.appearance.language": "Linguagem", + "settings.appearance.languageDescription": "Selecione o idioma do dashboard" +} diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts index eaeb1612..5a2ec44b 100644 --- a/apps/dokploy/utils/hooks/use-locale.ts +++ b/apps/dokploy/utils/hooks/use-locale.ts @@ -11,6 +11,7 @@ const SUPPORTED_LOCALES = [ "zh-Hans", "fa", "ko", + "pt-br", ] as const; type Locale = (typeof SUPPORTED_LOCALES)[number];