feat(i18n): add Traditional Chinese (zh-TW) locale (rebased #3995)#4199
Merged
Conversation
Adds the zh-TW desktop locale and the ChineseTraditional CLI catalogue, wired into the locale type, DICTS map, detectLocale/normalize (zh-TW / zh-Hant / zh-HK / zh-MO, plus POSIX zh_TW.UTF-8) and the tray/migration bridges. Taiwan terminology throughout (設定 / 檔案 / 外掛 / 網路 / 登入).
263abbf to
0239915
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lands #3995 (Traditional Chinese / zh-TW locale) on current
main-v2. All credit to @NkAntony777 — the original translation is genuinely good Taiwan Traditional, not a Simplified copy.The PR had drifted:
main-v2added ~560 i18n keys after it was opened (bots gateway, hooks, memory panel, palette, projectTree, status bar, generative music, custom font,/rename,/diff-fold, self-update, …), and both the frontendRecord<DictKey,string>type and the backendTestCatalogsCompleterequire every key present, so it no longer built. This carries it forward.What I did on top of #3995
main-v2; resolved thebridge.tsconflict (kept the newSetTrayLocale("en"|"zh"|"zh-TW")signature alongside main'sSetAutoApproveTools/ SetBypass comment).zh-TW.ts) + 46 backend (messages_zh_tw.go), translated from the Simplified catalogues with OpenCCs2twp(the phrase-level Taiwan profile the issue itself recommends), then aligned to the contributor's existing terminology (權限/存取/參數/介面/頻道, kept their當前) and ran an OpenCCs2twresidual sweep so no Simplified character survives.en.tshas since renamed away (status.ctx*,context.filterChanges, …) — they'd otherwise trip the excess-property check.zh_TW.UTF-8underscore form) is included.Verification (local)
pnpm --dir desktop/frontend typecheck— clean apart from the usual ungenerated-wailsjserrors;zh-TW.tsreports nothing, i.e. its key set matchesDictKeyexactly (no missing, no extra).go test ./...— green, includingTestCatalogsComplete,TestCatalogsAgreeOnPlaceholders, andTestNormalize.tsxunit tests pass when run directly.Closes #3995