feat: improve translation system and update workflow

This commit is contained in:
LukeGus
2025-12-25 01:28:41 -06:00
parent 5c5c095e63
commit ca238b5ee2
6 changed files with 1135 additions and 111 deletions

View File

@@ -2,7 +2,7 @@ import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import enTranslation from "../locales/en/translation.json";
import enTranslation from "../locales/en.json";
import zhTranslation from "../locales/zh/translation.json";
import deTranslation from "../locales/de/translation.json";
import ptbrTranslation from "../locales/pt-BR/translation.json";
@@ -10,12 +10,35 @@ import ruTranslation from "../locales/ru/translation.json";
import frTranslation from "../locales/fr/translation.json";
import koTranslation from "../locales/ko/translation.json";
import itTranslation from "../locales/it/translation.json";
import esTranslation from "../locales/es/translation.json";
import hiTranslation from "../locales/hi/translation.json";
import bnTranslation from "../locales/bn/translation.json";
import jaTranslation from "../locales/ja/translation.json";
import viTranslation from "../locales/vi/translation.json";
import trTranslation from "../locales/tr/translation.json";
import heTranslation from "../locales/he/translation.json";
i18n
.use(LanguageDetector)
.use(initReactI18next)
.init({
supportedLngs: ["en", "zh", "de", "ptbr", "ru", "fr", "ko", "it"],
supportedLngs: [
"en",
"zh",
"de",
"ptbr",
"ru",
"fr",
"ko",
"it",
"es",
"hi",
"bn",
"ja",
"vi",
"tr",
"he",
],
fallbackLng: "en",
debug: false,
@@ -52,6 +75,27 @@ i18n
it: {
translation: itTranslation,
},
es: {
translation: esTranslation,
},
hi: {
translation: hiTranslation,
},
bn: {
translation: bnTranslation,
},
ja: {
translation: jaTranslation,
},
vi: {
translation: viTranslation,
},
tr: {
translation: trTranslation,
},
he: {
translation: heTranslation,
},
},
interpolation: {

View File

@@ -22,6 +22,13 @@ const languages = [
{ code: "fr", name: "French", nativeName: "Français" },
{ code: "it", name: "Italian", nativeName: "Italiano" },
{ code: "ko", name: "Korean", nativeName: "한국어" },
{ code: "es", name: "Spanish", nativeName: "Español" },
{ code: "hi", name: "Hindi", nativeName: "हिन्दी" },
{ code: "bn", name: "Bengali", nativeName: "বাংলা" },
{ code: "ja", name: "Japanese", nativeName: "日本語" },
{ code: "vi", name: "Vietnamese", nativeName: "Tiếng Việt" },
{ code: "tr", name: "Turkish", nativeName: "Türkçe" },
{ code: "he", name: "Hebrew", nativeName: "עברית" },
];
export function LanguageSwitcher() {