IKHSAN
EN Read in EnglishID

pixies

Publik
Branch
master
Commit terakhir
9b0697f26 Oktober 2026

i18n.js

Buka raw
import i18n from "i18next";
import {initReactI18next} from "react-i18next";
import LanguageDetector from 'i18next-browser-languagedetector';
import HttpApi from 'i18next-http-backend';
import EnglishFlag from "@/common/assets/languages/en.webp";
import BulgarianFlag from "@/common/assets/languages/bg.webp";
import ChineseFlag from "@/common/assets/languages/zh.webp";
import DutchFlag from "@/common/assets/languages/nl.webp";
import FranceFlag from "@/common/assets/languages/fr.webp";
import ItalianFlag from "@/common/assets/languages/it.webp";
import PortugueseBrazilFlag from "@/common/assets/languages/br.webp";
import RussianFlag from "@/common/assets/languages/ru.webp";
import SpanishFlag from "@/common/assets/languages/es.webp";
import TurkishFlag from "@/common/assets/languages/tr.webp";
import DanishFlag from "@/common/assets/languages/da.webp";
import PolishFlag from "@/common/assets/languages/pl.webp";
import IndonesianFlag from "@/common/assets/languages/id.webp";

export const languages = [
    {name: 'English', code: 'en', flag: EnglishFlag},
    {name: 'Български', code: 'bg', flag: BulgarianFlag},
    {name: '中文', code: 'zh', flag: ChineseFlag},
    {name: 'Nederlands', code: 'nl', flag: DutchFlag},
    {name: 'Français', code: 'fr', flag: FranceFlag},
    {name: 'Italiano', code: 'it', flag: ItalianFlag},
    {name: 'Português do Brasil', code: 'pt', flag: PortugueseBrazilFlag},
    {name: 'Русский', code: 'ru', flag: RussianFlag},
    {name: 'Español', code: 'es', flag: SpanishFlag},
    {name: 'Dansk', code: 'da', flag: DanishFlag},
    {name: 'Polski', code: 'pl', flag: PolishFlag},
    {name: 'Türkçe', code: 'tr', flag: TurkishFlag},
    {name: 'Bahasa Indonesia', code: 'id', flag: IndonesianFlag}
]

const detectedLanguage = (localStorage.getItem('language') || navigator.language).split('-')[0];
const selectedLanguage = languages.some(language => language.code === detectedLanguage) ? detectedLanguage : 'en';
localStorage.setItem('language', selectedLanguage);

i18n.use(initReactI18next).use(LanguageDetector).use(HttpApi).init({
    supportedLngs: languages.map(lang => lang.code),
    fallbackLng: 'en',
    backend: {
        loadPath: '/assets/locales/{{lng}}.json'
    },
    detection: {
        order: ['localStorage'],
        lookupLocalStorage: 'language'
    }
});

export default i18n;
byte
2.373
baris
51
Jenis
js
Commit terakhir
26 Oktober 2026