mirror of
https://github.com/saicaca/fuwari.git
synced 2026-01-12 07:12:52 +01:00
49 lines
1.0 KiB
TypeScript
49 lines
1.0 KiB
TypeScript
import { siteConfig } from "../config";
|
|
import type I18nKey from "./i18nKey";
|
|
import { en } from "./languages/en";
|
|
import { es } from "./languages/es";
|
|
import { id } from "./languages/id";
|
|
import { ja } from "./languages/ja";
|
|
import { ko } from "./languages/ko";
|
|
import { th } from "./languages/th";
|
|
import { tr } from "./languages/tr";
|
|
import { vi } from "./languages/vi";
|
|
import { zh_CN } from "./languages/zh_CN";
|
|
import { zh_TW } from "./languages/zh_TW";
|
|
|
|
export type Translation = {
|
|
[K in I18nKey]: string;
|
|
};
|
|
|
|
const defaultTranslation = en;
|
|
|
|
const map: { [key: string]: Translation } = {
|
|
es: es,
|
|
en: en,
|
|
en_us: en,
|
|
en_gb: en,
|
|
en_au: en,
|
|
zh_cn: zh_CN,
|
|
zh_tw: zh_TW,
|
|
ja: ja,
|
|
ja_jp: ja,
|
|
ko: ko,
|
|
ko_kr: ko,
|
|
th: th,
|
|
th_th: th,
|
|
vi: vi,
|
|
vi_vn: vi,
|
|
id: id,
|
|
tr: tr,
|
|
tr_tr: tr,
|
|
};
|
|
|
|
export function getTranslation(lang: string): Translation {
|
|
return map[lang.toLowerCase()] || defaultTranslation;
|
|
}
|
|
|
|
export function i18n(key: I18nKey): string {
|
|
const lang = siteConfig.lang || "en";
|
|
return getTranslation(lang)[key];
|
|
}
|