From 2f18c3a998be16e14e9e352e71beb669ebbcaa63 Mon Sep 17 00:00:00 2001 From: mrjvs Date: Thu, 28 Dec 2023 00:12:35 +0100 Subject: [PATCH] Add new languages to language options --- src/assets/languages.ts | 6 ++++++ src/setup/i18n.ts | 40 ++++++++++++++++++++++++++-------------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/assets/languages.ts b/src/assets/languages.ts index b6d0ee58..0cbc0895 100644 --- a/src/assets/languages.ts +++ b/src/assets/languages.ts @@ -2,6 +2,8 @@ import ar from "@/assets/locales/ar.json"; import cs from "@/assets/locales/cs.json"; import de from "@/assets/locales/de.json"; import en from "@/assets/locales/en.json"; +import es from "@/assets/locales/es.json"; +import et from "@/assets/locales/et.json"; import fr from "@/assets/locales/fr.json"; import he from "@/assets/locales/he.json"; import it from "@/assets/locales/it.json"; @@ -13,6 +15,7 @@ import pirate from "@/assets/locales/pirate.json"; import pl from "@/assets/locales/pl.json"; import sv from "@/assets/locales/sv.json"; import th from "@/assets/locales/th.json"; +import tok from "@/assets/locales/tok.json"; import tr from "@/assets/locales/tr.json"; import vi from "@/assets/locales/vi.json"; import zh from "@/assets/locales/zh.json"; @@ -36,6 +39,9 @@ export const locales = { th, ne, ar, + es, + et, + tok, }; export type Locales = keyof typeof locales; diff --git a/src/setup/i18n.ts b/src/setup/i18n.ts index a3cdfe77..0110363a 100644 --- a/src/setup/i18n.ts +++ b/src/setup/i18n.ts @@ -17,22 +17,34 @@ i18n.use(initReactI18next).init({ }, }); -export const appLanguageOptions = langCodes.map((lang) => { - if (lang === "pirate") { - return { - code: "pirate", - name: "Pirate", - nativeName: "Pirate Tongue", - }; +const extraLanguages: Record< + string, + { + code: string; + name: string; + nativeName: string; } +> = { + pirate: { + code: "pirate", + name: "Pirate", + nativeName: "Pirate Tongue", + }, + minion: { + code: "minion", + name: "Minion", + nativeName: "Minionese", + }, + tok: { + code: "tok", + name: "Toki pona", + nativeName: "Toki pona", + }, +}; - if (lang === "minion") { - return { - code: "minion", - name: "Minion", - nativeName: "Minionese", - }; - } +export const appLanguageOptions = langCodes.map((lang) => { + const extraLang = extraLanguages[lang]; + if (extraLang) return extraLang; const [langObj] = ISO6391.getLanguages([lang]); if (!langObj)