From 8b842310424d08dbbfa63655c08f9b5ad0006550 Mon Sep 17 00:00:00 2001 From: henrygd Date: Fri, 9 Jan 2026 12:19:43 -0500 Subject: [PATCH] refactor: update languages data structure --- internal/site/src/components/lang-toggle.tsx | 2 +- .../components/routes/settings/general.tsx | 8 +- internal/site/src/lib/i18n.ts | 2 +- internal/site/src/lib/languages.ts | 174 +++--------------- 4 files changed, 35 insertions(+), 151 deletions(-) diff --git a/internal/site/src/components/lang-toggle.tsx b/internal/site/src/components/lang-toggle.tsx index 830eb8f7..ec0482be 100644 --- a/internal/site/src/components/lang-toggle.tsx +++ b/internal/site/src/components/lang-toggle.tsx @@ -18,7 +18,7 @@ export function LangToggle() { - {languages.map(({ lang, label, e }) => ( + {languages.map(([lang, label, e]) => ( - {languages.map((lang) => ( - - {lang.e} - {lang.label} + {languages.map(([lang, label, e]) => ( + + {e} + {label} ))} diff --git a/internal/site/src/lib/i18n.ts b/internal/site/src/lib/i18n.ts index bda1a206..0fa53fac 100644 --- a/internal/site/src/lib/i18n.ts +++ b/internal/site/src/lib/i18n.ts @@ -53,7 +53,7 @@ export function getLocale() { } locale = (locale || "en").split("-")[0] // use en if locale is not in languages - if (!languages.some((l) => l.lang === locale)) { + if (!languages.some((l) => l[0] === locale)) { locale = "en" } return locale diff --git a/internal/site/src/lib/languages.ts b/internal/site/src/lib/languages.ts index b453cc38..3697ad47 100644 --- a/internal/site/src/lib/languages.ts +++ b/internal/site/src/lib/languages.ts @@ -1,147 +1,31 @@ export default [ - { - lang: "ar", - label: "العربية", - e: "🇵🇸", - }, - { - lang: "bg", - label: "Български", - e: "🇧🇬", - }, - { - lang: "cs", - label: "Čeština", - e: "🇨🇿", - }, - { - lang: "da", - label: "Dansk", - e: "🇩🇰", - }, - { - lang: "de", - label: "Deutsch", - e: "🇩🇪", - }, - { - lang: "en", - label: "English", - e: "🇬🇧", - }, - { - lang: "es", - label: "Español", - e: "🇪🇸", - }, - { - lang: "fa", - label: "فارسی", - e: "🇮🇷", - }, - { - lang: "fr", - label: "Français", - e: "🇫🇷", - }, - { - lang: "he", - label: "עברית", - e: "🕎", - }, - { - lang: "hr", - label: "Hrvatski", - e: "🇭🇷", - }, - { - lang: "hu", - label: "Magyar", - e: "🇭🇺", - }, - { - lang: "it", - label: "Italiano", - e: "🇮🇹", - }, - { - lang: "ja", - label: "日本語", - e: "🇯🇵", - }, - { - lang: "ko", - label: "한국어", - e: "🇰🇷", - }, - { - lang: "nl", - label: "Nederlands", - e: "🇳🇱", - }, - { - lang: "no", - label: "Norsk", - e: "🇳🇴", - }, - { - lang: "pl", - label: "Polski", - e: "🇵🇱", - }, - { - lang: "pt", - label: "Português", - e: "🇵🇹", - }, - { - lang: "ru", - label: "Русский", - e: "🇷🇺", - }, - { - lang: "sl", - label: "Slovenščina", - e: "🇸🇮", - }, - { - lang: "sr", - label: "Српски", - e: "🇷🇸", - }, - { - lang: "sv", - label: "Svenska", - e: "🇸🇪", - }, - { - lang: "tr", - label: "Türkçe", - e: "🇹🇷", - }, - { - lang: "uk", - label: "Українська", - e: "🇺🇦", - }, - { - lang: "vi", - label: "Tiếng Việt", - e: "🇻🇳", - }, - { - lang: "zh-CN", - label: "简体中文", - e: "🇨🇳", - }, - { - lang: "zh-HK", - label: "繁體中文", - e: "🇭🇰", - }, - { - lang: "zh", - label: "繁體中文", - e: "🇹🇼", - }, + ["ar", "العربية", "🇵🇸"], + ["bg", "Български", "🇧🇬"], + ["cs", "Čeština", "🇨🇿"], + ["da", "Dansk", "🇩🇰"], + ["de", "Deutsch", "🇩🇪"], + ["en", "English", "🇬🇧"], + ["es", "Español", "🇪🇸"], + ["fa", "فارسی", "🇮🇷"], + ["fr", "Français", "🇫🇷"], + ["he", "עברית", "🕎"], + ["hr", "Hrvatski", "🇭🇷"], + ["hu", "Magyar", "🇭🇺"], + ["it", "Italiano", "🇮🇹"], + ["ja", "日本語", "🇯🇵"], + ["ko", "한국어", "🇰🇷"], + ["nl", "Nederlands", "🇳🇱"], + ["no", "Norsk", "🇳🇴"], + ["pl", "Polski", "🇵🇱"], + ["pt", "Português", "🇵🇹"], + ["ru", "Русский", "🇷🇺"], + ["sl", "Slovenščina", "🇸🇮"], + ["sr", "Српски", "🇷🇸"], + ["sv", "Svenska", "🇸🇪"], + ["tr", "Türkçe", "🇹🇷"], + ["uk", "Українська", "🇺🇦"], + ["vi", "Tiếng Việt", "🇻🇳"], + ["zh-CN", "简体中文", "🇨🇳"], + ["zh-HK", "繁體中文", "🇭🇰"], + ["zh", "繁體中文", "🇹🇼"], ] as const