`zh-TW` shows Simplified Chinese in the command palette and settings section names
@seekskyworld is already working on this.
Since Sep 16, 2026.
Assessment
This issue has not been assessed yet.
Description
Summary
In apps/desktop/src/renderer/locales/shell-copy.ts, the zh-CN and zh-TW catalogs both point at the same two module-level constants:
L1083–1084 zh-CN → commands: ZH_STATIC_COMMANDS, settingsSections: ZH_SETTINGS_SECTIONS
L1585–1586 zh-TW → commands: ZH_STATIC_COMMANDS, settingsSections: ZH_SETTINGS_SECTIONS
Those constants are written in Simplified Chinese. 54 of the 62 CJK values in ZH_STATIC_COMMANDS and 10 of the 16 in ZH_SETTINGS_SECTIONS contain Simplified-only characters — 47 distinct ones, including 开, 设, 务, 关, 话, 记, 载, 复, 归, 档 and 择.
So a zh-TW user sees Simplified text in the command palette and in the settings section names, while the rest of the app is Traditional.
| Line | Value served to zh-TW |
Expected |
|---|---|---|
| 726 | 'archived-tasks': '已归档任务' |
已歸檔任務 |
| 721 | appearance: '外观' |
外觀 |
| 530 | 'action:new-chat' label '新建任务' |
新建任務 |
| 547 | 'action:open-settings' label '打开设置' |
打開設定 |
| 601 | label: '复制诊断信息' |
複製診斷資訊 |
This is only the shared constants
The zh-TW block itself is correct Traditional Chinese. The same string inside the catalogs is split properly — archiveFailedTitle is '归档任务失败' at L892 (zh-CN) and '歸檔任務失敗' at L1394 (zh-TW). The divergence is confined to the two shared constants, which is why it shows up in the command palette and settings sections and nowhere else.
Scope: 86 strings.
Notes
Found while measuring the scope of #3977, but independent of it — this affects shipped zh-TW builds today and has nothing to do with the Korean locale work. Related in kind to #5289, though the cause is different: that one is merge-order drift on a single string, this is a structural sharing decision.
I'm not a Chinese speaker, so I'm reporting this rather than taking it — deciding between separate ZH_TW_* constants and another approach, and writing the Traditional copy, both want someone who reads both variants.
Measurements above were taken on stack/i18n-ko-core at a193ad8d1.
- Dominant language
- TypeScript
- Stars
- 5.6k
- Forks
- 518
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 684
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/maka
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 4/5 3-5 days Newbie friendliness 58/100
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
Difficulty 5/5 Over a week Newbie friendliness 45/100
-
Desktop: task refresh fails with opaque persistence_failed; the real transcript error is discarded Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·