diff --git a/beszel/site/src/components/lang-toggle.tsx b/beszel/site/src/components/lang-toggle.tsx index 53b1fdf..c361c4e 100644 --- a/beszel/site/src/components/lang-toggle.tsx +++ b/beszel/site/src/components/lang-toggle.tsx @@ -2,7 +2,7 @@ import { LanguagesIcon } from "lucide-react" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" -import languages from "../lib/languages.json" +import languages from "@/lib/languages" import { cn } from "@/lib/utils" import { useLingui } from "@lingui/react" import { dynamicActivate } from "@/lib/i18n" diff --git a/beszel/site/src/components/routes/settings/general.tsx b/beszel/site/src/components/routes/settings/general.tsx index 8392beb..ce81823 100644 --- a/beszel/site/src/components/routes/settings/general.tsx +++ b/beszel/site/src/components/routes/settings/general.tsx @@ -8,7 +8,7 @@ import { UserSettings } from "@/types" import { saveSettings } from "./layout" import { useState } from "react" import { Trans } from "@lingui/macro" -import languages from "../../../lib/languages.json" +import languages from "@/lib/languages" import { dynamicActivate } from "@/lib/i18n" import { useLingui } from "@lingui/react" // import { setLang } from "@/lib/i18n" diff --git a/beszel/site/src/lib/i18n.ts b/beszel/site/src/lib/i18n.ts index 0ba1007..98076ae 100644 --- a/beszel/site/src/lib/i18n.ts +++ b/beszel/site/src/lib/i18n.ts @@ -1,12 +1,10 @@ import { $direction } from "./stores" import { i18n } from "@lingui/core" import type { Messages } from "@lingui/core" -import languages from "@/lib/languages.json" +import languages from "@/lib/languages" import { detect, fromUrl, fromStorage, fromNavigator } from "@lingui/detect-locale" import { messages as enMessages } from "../locales/en/en.ts" -console.log(languages) - // let locale = detect(fromUrl("lang"), fromStorage("lang"), fromNavigator(), "en") let locale = detect(fromStorage("lang"), fromNavigator(), "en") @@ -25,13 +23,17 @@ function activateLocale(locale: string, messages: Messages = enMessages) { // dynamically loads translations for the given locale export async function dynamicActivate(locale: string) { - try { - const { messages }: { messages: Messages } = await import(`../locales/${locale}/${locale}.ts`) - activateLocale(locale, messages) - localStorage.setItem("lang", locale) - } catch (error) { - console.error(`Error loading ${locale}`, error) - activateLocale("en") + if (locale == "en") { + activateLocale(locale) + } else { + try { + const { messages }: { messages: Messages } = await import(`../locales/${locale}/${locale}.ts`) + activateLocale(locale, messages) + localStorage.setItem("lang", locale) + } catch (error) { + console.error(`Error loading ${locale}`, error) + activateLocale("en") + } } } @@ -56,11 +58,5 @@ if (locale?.startsWith("zh-")) { if (!languages.some((l) => l.lang === locale)) { locale = "en" } - // handle non-english locales - if (locale !== "en") { - dynamicActivate(locale) - } else { - // fallback to en - activateLocale("en") - } + dynamicActivate(locale) } diff --git a/beszel/site/src/lib/languages.json b/beszel/site/src/lib/languages.json deleted file mode 100644 index a81e96f..0000000 --- a/beszel/site/src/lib/languages.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - { - "lang": "ar", - "label": "العربية", - "e": "🇵🇸" - }, - { - "lang": "de", - "label": "Deutsch", - "e": "🇩🇪" - }, - { - "lang": "en", - "label": "English", - "e": "🇺🇸" - }, - { - "lang": "es", - "label": "Español", - "e": "🇲🇽" - }, - { - "lang": "fr", - "label": "Français", - "e": "🇫🇷" - }, - { - "lang": "it", - "label": "Italiano", - "e": "🇮🇹" - }, - { - "lang": "ja", - "label": "日本語", - "e": "🇯🇵" - }, - { - "lang": "ko", - "label": "한국어", - "e": "🇰🇷" - }, - { - "lang": "pt", - "label": "Português", - "e": "🇧🇷" - }, - { - "lang": "tr", - "label": "Türkçe", - "e": "🇹🇷" - }, - { - "lang": "ru", - "label": "Русский", - "e": "🇷🇺" - }, - { - "lang": "uk", - "label": "Українська", - "e": "🇺🇦" - }, - { - "lang": "vi", - "label": "Tiếng Việt", - "e": "🇻🇳" - }, - { - "lang": "zh-CN", - "label": "简体中文", - "e": "🇨🇳" - }, - { - "lang": "zh-HK", - "label": "繁體中文", - "e": "🇭🇰" - } -] diff --git a/beszel/site/src/lib/languages.ts b/beszel/site/src/lib/languages.ts new file mode 100644 index 0000000..a6109a1 --- /dev/null +++ b/beszel/site/src/lib/languages.ts @@ -0,0 +1,77 @@ +export default [ + { + lang: "ar", + label: "العربية", + e: "🇵🇸", + }, + { + lang: "de", + label: "Deutsch", + e: "🇩🇪", + }, + { + lang: "en", + label: "English", + e: "🇺🇸", + }, + { + lang: "es", + label: "Español", + e: "🇲🇽", + }, + { + lang: "fr", + label: "Français", + e: "🇫🇷", + }, + { + lang: "it", + label: "Italiano", + e: "🇮🇹", + }, + { + lang: "ja", + label: "日本語", + e: "🇯🇵", + }, + { + lang: "ko", + label: "한국어", + e: "🇰🇷", + }, + { + lang: "pt", + label: "Português", + e: "🇧🇷", + }, + { + lang: "tr", + label: "Türkçe", + e: "🇹🇷", + }, + { + lang: "ru", + label: "Русский", + e: "🇷🇺", + }, + { + lang: "uk", + label: "Українська", + e: "🇺🇦", + }, + { + lang: "vi", + label: "Tiếng Việt", + e: "🇻🇳", + }, + { + lang: "zh-CN", + label: "简体中文", + e: "🇨🇳", + }, + { + lang: "zh-HK", + label: "繁體中文", + e: "🇭🇰", + }, +] as const diff --git a/beszel/site/src/locales/ar/ar.po b/beszel/site/src/locales/ar/ar.po index f09abfc..4c2fe05 100644 --- a/beszel/site/src/locales/ar/ar.po +++ b/beszel/site/src/locales/ar/ar.po @@ -281,7 +281,7 @@ msgstr "استخدام القرص لـ {extraFsName}" #: src/components/routes/system.tsx:386 msgid "Docker CPU Usage" -msgstr "استخدام وحدة المعالجة المركزية لـ Docker" +msgstr "استخدام CPU لـ Docker" #: src/components/routes/system.tsx:407 msgid "Docker Memory Usage" @@ -571,7 +571,7 @@ msgstr "المفتاح العام" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "قراءة" @@ -791,7 +791,7 @@ msgstr "إشعارات Webhook / Push" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "كتابة" @@ -806,4 +806,3 @@ msgstr "تكوين YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "تم تحديث إعدادات المستخدم الخاصة بك." - diff --git a/beszel/site/src/locales/de/de.po b/beszel/site/src/locales/de/de.po index 9b8fc3c..1447d07 100644 --- a/beszel/site/src/locales/de/de.po +++ b/beszel/site/src/locales/de/de.po @@ -571,7 +571,7 @@ msgstr "Schlüssel" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Lesen" @@ -791,7 +791,7 @@ msgstr "Webhook / Push-Benachrichtigungen" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Schreiben" @@ -806,4 +806,3 @@ msgstr "YAML-Konfiguration" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Ihre Benutzereinstellungen wurden aktualisiert." - diff --git a/beszel/site/src/locales/en/en.po b/beszel/site/src/locales/en/en.po index 41e2059..8cf744e 100644 --- a/beszel/site/src/locales/en/en.po +++ b/beszel/site/src/locales/en/en.po @@ -566,7 +566,7 @@ msgstr "Public Key" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Read" @@ -786,7 +786,7 @@ msgstr "Webhook / Push notifications" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Write" diff --git a/beszel/site/src/locales/es/es.po b/beszel/site/src/locales/es/es.po index 3b234a6..32ea39f 100644 --- a/beszel/site/src/locales/es/es.po +++ b/beszel/site/src/locales/es/es.po @@ -571,7 +571,7 @@ msgstr "Clave Pública" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Lectura" @@ -791,7 +791,7 @@ msgstr "Notificaciones Webhook / Push" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Escritura" @@ -806,4 +806,3 @@ msgstr "Configuración YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Su configuración de usuario ha sido actualizada." - diff --git a/beszel/site/src/locales/fr/fr.po b/beszel/site/src/locales/fr/fr.po index ef0b18c..7ec4274 100644 --- a/beszel/site/src/locales/fr/fr.po +++ b/beszel/site/src/locales/fr/fr.po @@ -571,7 +571,7 @@ msgstr "Clé publique" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Lecture" @@ -791,7 +791,7 @@ msgstr "Notifications Webhook / Push" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Écriture" @@ -806,4 +806,3 @@ msgstr "Configuration YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Vos paramètres utilisateur ont été mis à jour." - diff --git a/beszel/site/src/locales/it/it.po b/beszel/site/src/locales/it/it.po index 169bffa..ec52df6 100644 --- a/beszel/site/src/locales/it/it.po +++ b/beszel/site/src/locales/it/it.po @@ -571,7 +571,7 @@ msgstr "Chiave Pub" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Lettura" @@ -791,7 +791,7 @@ msgstr "Notifiche Webhook / Push" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Scrittura" @@ -806,4 +806,3 @@ msgstr "Configurazione YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Le impostazioni utente sono state aggiornate." - diff --git a/beszel/site/src/locales/ja/ja.po b/beszel/site/src/locales/ja/ja.po index 5d2963b..b6eaf86 100644 --- a/beszel/site/src/locales/ja/ja.po +++ b/beszel/site/src/locales/ja/ja.po @@ -571,7 +571,7 @@ msgstr "公開鍵" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "読み取り" @@ -791,7 +791,7 @@ msgstr "Webhook / プッシュ通知" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "書き込み" @@ -806,4 +806,3 @@ msgstr "YAML設定" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "ユーザー設定が更新されました。" - diff --git a/beszel/site/src/locales/ko/ko.po b/beszel/site/src/locales/ko/ko.po index 1ba4455..148d1a4 100644 --- a/beszel/site/src/locales/ko/ko.po +++ b/beszel/site/src/locales/ko/ko.po @@ -571,7 +571,7 @@ msgstr "공개 키" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "읽기" @@ -791,7 +791,7 @@ msgstr "Webhook / 푸시 알림" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "쓰기" @@ -806,4 +806,3 @@ msgstr "YAML 구성" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "사용자 설정이 업데이트되었습니다." - diff --git a/beszel/site/src/locales/pt/pt.po b/beszel/site/src/locales/pt/pt.po index eacde07..5d1c76d 100644 --- a/beszel/site/src/locales/pt/pt.po +++ b/beszel/site/src/locales/pt/pt.po @@ -571,7 +571,7 @@ msgstr "Chave Pública" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Ler" @@ -791,7 +791,7 @@ msgstr "Notificações Webhook / Push" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Escrever" @@ -806,4 +806,3 @@ msgstr "Configuração YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "As configurações do seu usuário foram atualizadas." - diff --git a/beszel/site/src/locales/ru/ru.po b/beszel/site/src/locales/ru/ru.po index 7ec4afd..1b1c678 100644 --- a/beszel/site/src/locales/ru/ru.po +++ b/beszel/site/src/locales/ru/ru.po @@ -571,7 +571,7 @@ msgstr "Ключ" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Чтение" @@ -791,7 +791,7 @@ msgstr "Webhook / Push уведомления" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Запись" @@ -806,4 +806,3 @@ msgstr "YAML конфигурация" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Ваши настройки пользователя были обновлены." - diff --git a/beszel/site/src/locales/tr/tr.po b/beszel/site/src/locales/tr/tr.po index fee9be7..f9a6c23 100644 --- a/beszel/site/src/locales/tr/tr.po +++ b/beszel/site/src/locales/tr/tr.po @@ -571,7 +571,7 @@ msgstr "Genel Anahtar" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Oku" @@ -791,7 +791,7 @@ msgstr "Webhook / Anlık bildirimler" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Yaz" @@ -806,4 +806,3 @@ msgstr "YAML Yapılandırması" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Kullanıcı ayarlarınız güncellendi." - diff --git a/beszel/site/src/locales/uk/uk.po b/beszel/site/src/locales/uk/uk.po index be6804e..bb25aa8 100644 --- a/beszel/site/src/locales/uk/uk.po +++ b/beszel/site/src/locales/uk/uk.po @@ -571,7 +571,7 @@ msgstr "Ключ" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Читання" @@ -791,7 +791,7 @@ msgstr "Webhook / Push сповіщення" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Запис" @@ -806,4 +806,3 @@ msgstr "Конфігурація YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Ваші налаштування користувача були оновлені." - diff --git a/beszel/site/src/locales/vi/vi.po b/beszel/site/src/locales/vi/vi.po index 17370c5..f209aee 100644 --- a/beszel/site/src/locales/vi/vi.po +++ b/beszel/site/src/locales/vi/vi.po @@ -571,7 +571,7 @@ msgstr "Khóa" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "Đọc" @@ -791,7 +791,7 @@ msgstr "Thông báo Webhook / Push" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "Ghi" @@ -806,4 +806,3 @@ msgstr "Cấu hình YAML" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "Cài đặt người dùng của bạn đã được cập nhật." - diff --git a/beszel/site/src/locales/zh-CN/zh-CN.po b/beszel/site/src/locales/zh-CN/zh-CN.po index ce53385..60c219a 100644 --- a/beszel/site/src/locales/zh-CN/zh-CN.po +++ b/beszel/site/src/locales/zh-CN/zh-CN.po @@ -571,7 +571,7 @@ msgstr "公钥" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "读取" @@ -791,7 +791,7 @@ msgstr "Webhook / 推送通知" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "写入" @@ -806,4 +806,3 @@ msgstr "YAML配置" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "您的用户设置已更新。" - diff --git a/beszel/site/src/locales/zh-HK/zh-HK.po b/beszel/site/src/locales/zh-HK/zh-HK.po index 46bd972..b81390e 100644 --- a/beszel/site/src/locales/zh-HK/zh-HK.po +++ b/beszel/site/src/locales/zh-HK/zh-HK.po @@ -571,7 +571,7 @@ msgstr "公鑰" #. Context is disk read #: src/components/charts/area-chart.tsx:56 -#: src/components/charts/area-chart.tsx:65 +#: src/components/charts/area-chart.tsx:66 msgid "Read" msgstr "讀取" @@ -791,7 +791,7 @@ msgstr "Webhook / 推送通知" #. Context is disk write #: src/components/charts/area-chart.tsx:55 -#: src/components/charts/area-chart.tsx:66 +#: src/components/charts/area-chart.tsx:65 msgid "Write" msgstr "寫入" @@ -806,4 +806,3 @@ msgstr "YAML配置" #: src/components/routes/settings/layout.tsx:34 msgid "Your user settings have been updated." msgstr "您的用戶設置已更新。" -