From cda66606ec2cca2b8fc028046f58cfb2dde16ab7 Mon Sep 17 00:00:00 2001 From: WoWnik Date: Mon, 18 Nov 2024 11:47:41 +0300 Subject: [PATCH 1/3] feat: add russian translation init --- .../dashboard/settings/appearance-form.tsx | 3 +- apps/dokploy/next-i18next.config.cjs | 2 +- apps/dokploy/pages/_app.tsx | 2 +- apps/dokploy/public/locales/ru/common.json | 1 + apps/dokploy/public/locales/ru/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/ru/common.json create mode 100644 apps/dokploy/public/locales/ru/settings.json diff --git a/apps/dokploy/components/dashboard/settings/appearance-form.tsx b/apps/dokploy/components/dashboard/settings/appearance-form.tsx index 9bafbeda..5d764cac 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", "zh-Hans"], { + language: z.enum(["en", "pl", "zh-Hans", "ru"], { required_error: "Please select a language.", }), }); @@ -176,6 +176,7 @@ export function AppearanceForm() { { label: "English", value: "en" }, { label: "Polski", value: "pl" }, { label: "简体中文", value: "zh-Hans" }, + { label: "Русский", value: "ru" }, ].map((preset) => ( {preset.label} diff --git a/apps/dokploy/next-i18next.config.cjs b/apps/dokploy/next-i18next.config.cjs index bac301cb..7a1e5b01 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", "zh-Hans"], + locales: ["en", "pl", "zh-Hans", "ru"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index 18cb3e7e..b74f24aa 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", "zh-Hans"], + locales: ["en", "pl", "zh-Hans", "ru"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/public/locales/ru/common.json b/apps/dokploy/public/locales/ru/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/apps/dokploy/public/locales/ru/common.json @@ -0,0 +1 @@ +{} diff --git a/apps/dokploy/public/locales/ru/settings.json b/apps/dokploy/public/locales/ru/settings.json new file mode 100644 index 00000000..55620c67 --- /dev/null +++ b/apps/dokploy/public/locales/ru/settings.json @@ -0,0 +1,44 @@ +{ + "settings.common.save": "Сохранить", + "settings.server.domain.title": "Домен сервера", + "settings.server.domain.description": "Установите домен для вашего серверного приложения Dokploy.", + "settings.server.domain.form.domain": "Домен", + "settings.server.domain.form.letsEncryptEmail": "Email для Let's Encrypt", + "settings.server.domain.form.certificate.label": "Сертификат", + "settings.server.domain.form.certificate.placeholder": "Выберите сертификат", + "settings.server.domain.form.certificateOptions.none": "Нет", + "settings.server.domain.form.certificateOptions.letsencrypt": "Let's Encrypt (По умолчанию)", + + "settings.server.webServer.title": "Веб-сервер", + "settings.server.webServer.description": "Перезагрузка или очистка веб-сервера.", + "settings.server.webServer.server.label": "Сервер", + "settings.server.webServer.traefik.label": "Traefik", + "settings.server.webServer.storage.label": "Дисковое пространство", + "settings.server.webServer.actions": "Действия", + "settings.server.webServer.reload": "Перезагрузить", + "settings.server.webServer.watchLogs": "Просмотр логов", + "settings.server.webServer.updateServerIp": "Изменить IP адрес", + "settings.server.webServer.traefik.modifyEnv": "Изменить переменные окружения", + "settings.server.webServer.storage.cleanUnusedImages": "Очистить неиспользуемые образы", + "settings.server.webServer.storage.cleanUnusedVolumes": "Очистить неиспользуемые тома", + "settings.server.webServer.storage.cleanStoppedContainers": "Очистить остановленные контейнеры", + "settings.server.webServer.storage.cleanDockerBuilder": "Очистить Docker Builder и систему", + "settings.server.webServer.storage.cleanMonitoring": "Очистить мониторинг", + "settings.server.webServer.storage.cleanAll": "Очистить всё", + + "settings.profile.title": "Аккаунт", + "settings.profile.description": "Измените данные вашего профиля.", + "settings.profile.email": "Email", + "settings.profile.password": "Пароль", + "settings.profile.avatar": "Аватар", + + "settings.appearance.title": "Внешний вид", + "settings.appearance.description": "Настройте тему Dokploy.", + "settings.appearance.theme": "Тема", + "settings.appearance.themeDescription": "Выберите тему системной панели", + "settings.appearance.themes.light": "Светлая", + "settings.appearance.themes.dark": "Тёмная", + "settings.appearance.themes.system": "Системная", + "settings.appearance.language": "Язык", + "settings.appearance.languageDescription": "Select a language for your dashboard" +} diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts index caad152a..52b5fbf4 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", "zh-Hans"] as const; +const SUPPORTED_LOCALES = ["en", "pl", "zh-Hans", "ru"] as const; type Locale = (typeof SUPPORTED_LOCALES)[number]; From a83b62f62b2605e8e1523f00e829b2680f941087 Mon Sep 17 00:00:00 2001 From: WoWnik Date: Tue, 19 Nov 2024 18:53:52 +0300 Subject: [PATCH 2/3] refactor: sort alphabetically --- .../dokploy/components/dashboard/settings/appearance-form.tsx | 4 ++-- apps/dokploy/next-i18next.config.cjs | 2 +- apps/dokploy/pages/_app.tsx | 2 +- apps/dokploy/utils/hooks/use-locale.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/dokploy/components/dashboard/settings/appearance-form.tsx b/apps/dokploy/components/dashboard/settings/appearance-form.tsx index 5d764cac..40247fb5 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", "zh-Hans", "ru"], { + language: z.enum(["en", "pl", "ru", "zh-Hans"], { required_error: "Please select a language.", }), }); @@ -175,8 +175,8 @@ export function AppearanceForm() { {[ { label: "English", value: "en" }, { label: "Polski", value: "pl" }, - { label: "简体中文", value: "zh-Hans" }, { label: "Русский", value: "ru" }, + { label: "简体中文", value: "zh-Hans" }, ].map((preset) => ( {preset.label} diff --git a/apps/dokploy/next-i18next.config.cjs b/apps/dokploy/next-i18next.config.cjs index 7a1e5b01..eaefab3f 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", "zh-Hans", "ru"], + locales: ["en", "pl", "ru", "zh-Hans"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index b74f24aa..9b621a45 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", "zh-Hans", "ru"], + locales: ["en", "pl", "ru", "zh-Hans"], localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts index 52b5fbf4..e45a0e6e 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", "zh-Hans", "ru"] as const; +const SUPPORTED_LOCALES = ["en", "pl", "ru", "zh-Hans"] as const; type Locale = (typeof SUPPORTED_LOCALES)[number]; From c2125d82b130db7ea1df869f2d42ad5d07ab9287 Mon Sep 17 00:00:00 2001 From: WoWnik Date: Wed, 20 Nov 2024 00:00:34 +0300 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20remove=20"=D1=91"=20letter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dokploy/public/locales/ru/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/public/locales/ru/settings.json b/apps/dokploy/public/locales/ru/settings.json index 55620c67..1e71d710 100644 --- a/apps/dokploy/public/locales/ru/settings.json +++ b/apps/dokploy/public/locales/ru/settings.json @@ -24,7 +24,7 @@ "settings.server.webServer.storage.cleanStoppedContainers": "Очистить остановленные контейнеры", "settings.server.webServer.storage.cleanDockerBuilder": "Очистить Docker Builder и систему", "settings.server.webServer.storage.cleanMonitoring": "Очистить мониторинг", - "settings.server.webServer.storage.cleanAll": "Очистить всё", + "settings.server.webServer.storage.cleanAll": "Очистить все", "settings.profile.title": "Аккаунт", "settings.profile.description": "Измените данные вашего профиля.", @@ -37,7 +37,7 @@ "settings.appearance.theme": "Тема", "settings.appearance.themeDescription": "Выберите тему системной панели", "settings.appearance.themes.light": "Светлая", - "settings.appearance.themes.dark": "Тёмная", + "settings.appearance.themes.dark": "Темная", "settings.appearance.themes.system": "Системная", "settings.appearance.language": "Язык", "settings.appearance.languageDescription": "Select a language for your dashboard"