Repository navigation
Conversation
📝 WalkthroughWalkthroughAdds Traditional Chinese ( 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: fd57c236-50d0-47be-99f8-36ceffadfbf9
📒 Files selected for processing (14)
src/main/i18n/main-i18n.tssrc/renderer/src/components/settings/appearance-search.tssrc/renderer/src/i18n/i18n.tssrc/renderer/src/i18n/locales/en.jsonsrc/renderer/src/i18n/locales/es.jsonsrc/renderer/src/i18n/locales/ja.jsonsrc/renderer/src/i18n/locales/ko.jsonsrc/renderer/src/i18n/locales/zh-TW.jsonsrc/renderer/src/i18n/locales/zh.jsonsrc/renderer/src/i18n/supported-languages.tssrc/shared/ui-language.test.tssrc/shared/ui-language.tssrc/shared/ui-locale.test.tssrc/shared/ui-locale.ts
Sync update (
|
|
Thank you for putting this together — and I am sorry it sat unanswered for so long, which is on us, not you. We are not taking on new UI locales right now. Orca ships en/es/ja/ko/zh, and each one carries ongoing cost beyond the initial catalog: every new English string has to be re-translated, the build-time repair policy needs per-locale glossary and override rules, and mistranslations reach users in surfaces nobody on the team can read. We are currently working through a backlog of correctness bugs in the five we already ship, and adding a sixth before that is under control would not be fair to the people using it. That is a decision about our capacity, not about the quality of your work. Closing so the queue reflects reality rather than leaving it open indefinitely — if that changes, this is easy to reopen and we will come back to the contributors who offered first. Thanks again for the time you put in. |
|
I'm sorry — I closed this, and that was the wrong call. Reopening it. The reasoning I gave (that we aren't taking on new built-in locales right now) is still true, but closing your PR was not the right way to act on it. You did the work, it sat for months without a reply, and then it got closed with an explanation of our constraints. That's a bad trade for you, and I apologize. Here's what's actually going on. We do want these locales. What we can't currently take on is maintaining them in-tree, where every new English string becomes translation debt across every catalog and a mistranslation ships to users in a surface nobody on the team can read. So the direction we're working toward is the one where that maintenance sits with the people who actually speak the language: plugin language packs. Most of that mechanism is already in the repo today:
The test fixture for that manifest contract uses What's not there yet is the part that would make this pleasant for you: there's no authoring guide, no scaffolding to generate a starter catalog from I'd rather leave this open and come back to you when that lands than close it and have you find out from a changelog. If you'd prefer to close it yourself in the meantime, that's entirely your call — but it should be yours, not mine. Thanks for the work, and sorry again for how I handled it. |
|
@nwparker Thanks for the clarification, and for reopening the PR. I understand the distinction between built-in locales and plugin language packs. I’m happy to leave #10604 open as a reference for the zh-TW contribution and revisit it once the language-pack authoring and synchronization workflow is ready. I won’t add further in-tree locale changes to this PR in the meantime. If there is a tracking issue or design thread for the language-pack authoring work, please feel free to link it. I’d be glad to help validate the zh-TW catalog and Taiwan terminology against the eventual contract. Thanks again for the transparency. |
Map zh-TW/zh-HK/zh-Hant system locales to a dedicated Traditional Chinese catalog instead of falling back to English or serving Simplified Chinese.
Prefer Taiwan terms (電腦/複製/儲存/權限/帳戶) over Mainland OpenCC residue, and translate first-screen English fallbacks for workspace connect, remote runtime reconnect, and the agent dashboard. Residual: ~600 catalog strings still match English (product names, Linear skill prompts, browser cert flows, deeper settings). Full catalog polish is out of scope for this pass.
d8e160f to
c7f1723
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Sync update (
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/renderer/src/i18n/zh-tw-core-localization.test.ts (1)
2-3: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winCover the lazy-loading contract in a renderer test.
Direct JSON imports validate catalog content, but they bypass
setRendererUiLanguageand the lazy backend. This test can pass if thezh-TWresource mapping or loader registration is broken. If no separate test coversUI_LANGUAGE_CHINESE_TRADITIONAL, add one that callssetRendererUiLanguage, assertsi18n.languageiszh-TW, and checks a translated key after the promise resolves. Usesrc/renderer/src/i18n/lazy-locale.test.ts, Lines 29-33, as the pattern.Also applies to: 25-34
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 28c7cabe-41a6-4c79-b6b6-2b565bac6022
📒 Files selected for processing (15)
src/main/i18n/main-i18n.tssrc/renderer/src/components/settings/appearance-search.tssrc/renderer/src/i18n/i18n.tssrc/renderer/src/i18n/locales/en.jsonsrc/renderer/src/i18n/locales/es.jsonsrc/renderer/src/i18n/locales/ja.jsonsrc/renderer/src/i18n/locales/ko.jsonsrc/renderer/src/i18n/locales/zh-TW.jsonsrc/renderer/src/i18n/locales/zh.jsonsrc/renderer/src/i18n/supported-languages.tssrc/renderer/src/i18n/zh-tw-core-localization.test.tssrc/shared/ui-language.test.tssrc/shared/ui-language.tssrc/shared/ui-locale.test.tssrc/shared/ui-locale.ts
🚧 Files skipped from review as they are similar to previous changes (13)
- src/renderer/src/i18n/locales/ja.json
- src/main/i18n/main-i18n.ts
- src/renderer/src/components/settings/appearance-search.ts
- src/renderer/src/i18n/locales/es.json
- src/shared/ui-language.test.ts
- src/renderer/src/i18n/i18n.ts
- src/shared/ui-locale.test.ts
- src/renderer/src/i18n/supported-languages.ts
- src/renderer/src/i18n/locales/en.json
- src/shared/ui-locale.ts
- src/shared/ui-language.ts
- src/renderer/src/i18n/locales/ko.json
- src/renderer/src/i18n/locales/zh.json
Summary
zh-TW) with Taiwan terminology (OpenCC cn→twp).zh-TW/zh-HK/zh-Hantnow resolve tozh-TWinstead of English.Fixes
Closes #10592
Test plan
ui-locale/ui-language/ lazy-locale testsELI5
Full Traditional Chinese (zh-TW) UI localization is available, with system locales like zh-TW/zh-HK mapping to it, so Traditional Chinese users get a native language option.