feat(i18n): add Traditional Chinese localization (#3093)

* Add Traditional Chinese localization

* fix: address zh-TW formatting and token units

- Format `zh-TW.json` with Prettier.
- Use Traditional Chinese `萬` and `億` units for zh-TW token summaries.
- Add usage formatting coverage for Traditional Chinese locale aliases.

---------

Co-authored-by: Jason <farion1231@gmail.com>
This commit is contained in:
滅ü
2026-05-27 00:05:03 +08:00
committed by GitHub
parent 8cdaf90d8d
commit 5fd3ec0d6a
16 changed files with 2795 additions and 21 deletions
+24 -2
View File
@@ -4,8 +4,9 @@ import { initReactI18next } from "react-i18next";
import en from "./locales/en.json";
import ja from "./locales/ja.json";
import zh from "./locales/zh.json";
import zhTW from "./locales/zh-TW.json";
type Language = "zh" | "en" | "ja";
type Language = "zh" | "zh-TW" | "en" | "ja";
const DEFAULT_LANGUAGE: Language = "zh";
@@ -13,7 +14,12 @@ const getInitialLanguage = (): Language => {
if (typeof window !== "undefined") {
try {
const stored = window.localStorage.getItem("language");
if (stored === "zh" || stored === "en" || stored === "ja") {
if (
stored === "zh" ||
stored === "zh-TW" ||
stored === "en" ||
stored === "ja"
) {
return stored;
}
} catch (error) {
@@ -27,6 +33,19 @@ const getInitialLanguage = (): Language => {
navigator.languages?.[0]?.toLowerCase())
: undefined;
if (navigatorLang === "zh") {
return "zh";
}
if (
navigatorLang?.startsWith("zh-tw") ||
navigatorLang?.startsWith("zh-hk") ||
navigatorLang?.startsWith("zh-mo") ||
navigatorLang?.startsWith("zh-hant")
) {
return "zh-TW";
}
if (navigatorLang?.startsWith("zh")) {
return "zh";
}
@@ -52,6 +71,9 @@ const resources = {
zh: {
translation: zh,
},
"zh-TW": {
translation: zhTW,
},
};
i18n.use(initReactI18next).init({
+2 -1
View File
@@ -542,7 +542,8 @@
}
},
"autoReload": "Data refreshed",
"languageOptionChinese": "中文",
"languageOptionChinese": "简体中文",
"languageOptionTraditionalChinese": "繁體中文",
"languageOptionEnglish": "English",
"languageOptionJapanese": "日本語",
"windowBehavior": "Window Behavior",
+2 -1
View File
@@ -542,7 +542,8 @@
}
},
"autoReload": "データを更新しました",
"languageOptionChinese": "中文",
"languageOptionChinese": "简体中文",
"languageOptionTraditionalChinese": "繁體中文",
"languageOptionEnglish": "English",
"languageOptionJapanese": "日本語",
"windowBehavior": "ウィンドウ動作",
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -542,7 +542,8 @@
}
},
"autoReload": "数据已刷新",
"languageOptionChinese": "中文",
"languageOptionChinese": "简体中文",
"languageOptionTraditionalChinese": "繁體中文",
"languageOptionEnglish": "English",
"languageOptionJapanese": "日本語",
"windowBehavior": "窗口行为",