mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-01 04:42:10 +03:00
The zh-TW catalog was machine-translated with mainland-habit vocabulary and simplified->traditional conversions that picked the wrong homophone, and its README still advertised the v3.7-era figures. Terminology (docs/i18n/zh-TW/ + src/i18n/messages/zh-TW.json): - wrong-character conversions: 上遊->上游, 後臺->後台, 儀錶板->儀表板 - mainland habits: 默認->預設, 緩存->快取, 模塊->模組, 調用->呼叫, 字符串->字串, 全局->全域, 文檔->文件, 響應->回應 - consistency: 供應商/提供商->提供者 (提供者 was already 71% dominant), 型別->類型 for UI labels, 不活躍->未啟用 README figures synced to the English source: 231->290 providers, 17->19 routing strategies, 1.6B->1.53B free tokens, 50+->90+ free tiers, 11->40+ free forever, 87->104 MCP tools, 30->31 scopes. Root cause — the generator's post-translation pass was a hardcoded list that duplicated the glossary and was wired only into the deprecated generate-multilang.mjs, so the active run-translation.mjs pipeline applied nothing. Worse, its blanket /代碼/g -> 程式碼 rule would corrupt 控制代碼 (handle), 語系代碼 (locale code) and 錯誤代碼 (error code) on the next regeneration. Both scripts and the drift gate now share scripts/i18n/glossary-normalize.mjs, driven by scripts/i18n/glossary/<locale>.json as the single source of truth. Ambiguous terms carry blockedPrefixes so 型別->類型 can stay enforced without mangling 模型別名 (model alias) or 基本型別 (a programming data type); terms whose synonym is also a legitimate rendering elsewhere (代碼, 項目) are seeded with no synonyms and documented instead of blanket-rewritten. CI now runs the glossary gate for zh-TW alongside zh-CN.
🌐 Multilingual Documentation — OmniRoute
Translations of documentation into 40 languages. Code blocks remain in English.
- 🇸🇦 العربية (
ar): Docs Root - 🇦🇿 Azərbaycan dili (
az): Docs Root - 🇧🇬 Български (
bg): Docs Root - 🇧🇩 বাংলা (
bn): Docs Root - 🇨🇿 Čeština (
cs): Docs Root - 🇩🇰 Dansk (
da): Docs Root - 🇩🇪 Deutsch (
de): Docs Root - 🇪🇸 Español (
es): Docs Root - 🇮🇷 فارسی (
fa): Docs Root - 🇫🇮 Suomi (
fi): Docs Root - 🇫🇷 Français (
fr): Docs Root - 🇮🇳 ગુજરાતી (
gu): Docs Root - 🇮🇱 עברית (
he): Docs Root - 🇮🇳 हिन्दी (
hi): Docs Root - 🇭🇺 Magyar (
hu): Docs Root - 🇮🇩 Bahasa Indonesia (
id): Docs Root - 🇮🇹 Italiano (
it): Docs Root - 🇯🇵 日本語 (
ja): Docs Root - 🇰🇷 한국어 (
ko): Docs Root - 🇮🇳 मराठी (
mr): Docs Root - 🇲🇾 Bahasa Melayu (
ms): Docs Root - 🇳🇱 Nederlands (
nl): Docs Root - 🇳🇴 Norsk (
no): Docs Root - 🇵🇭 Filipino (
phi): Docs Root - 🇵🇱 Polski (
pl): Docs Root - 🇵🇹 Português (Portugal) (
pt): Docs Root - 🇧🇷 Português (Brasil) (
pt-BR): Docs Root - 🇷🇴 Română (
ro): Docs Root - 🇷🇺 Русский (
ru): Docs Root - 🇸🇰 Slovenčina (
sk): Docs Root - 🇸🇪 Svenska (
sv): Docs Root - 🇰🇪 Kiswahili (
sw): Docs Root - 🇮🇳 தமிழ் (
ta): Docs Root - 🇮🇳 తెలుగు (
te): Docs Root - 🇹🇭 ไทย (
th): Docs Root - 🇹🇷 Türkçe (
tr): Docs Root - 🇺🇦 Українська (
uk-UA): Docs Root - 🇵🇰 اردو (
ur): Docs Root - 🇻🇳 Tiếng Việt (
vi): Docs Root - 🇹🇼 中文 (繁體) (
zh-TW): Docs Root - 🇨🇳 中文 (简体) (
zh-CN): Docs Root