ADR 0182: Traditional Chinese shell locale
- Status: Accepted
- Date: 2026-09-08
- Decision owners: PI-Desktop desktop/i18n maintainers
- Related: ADR 0160, D314, E2E-091
Context
The locale registry already made the language picker extensible, but every Traditional Chinese OS tag still resolved to the Simplified Chinese catalog. That made Auto selection incorrect for Traditional Chinese users and left the shell and in-app release notes with Simplified Chinese terminology.
Decision
- Ship
zh-TWas an independent full shell catalog with the native name繁體中文, including the host-owned plugin-panel chrome. The searchable language picker continues to read the shared locale registry and therefore needs no locale-specific UI code. - Resolve
zh-TW,zh-Hant,zh-HK, andzh-MOtags tozh-TW, including underscore-separated forms. Genericzhand Simplified Chinese regions continue to resolve tozh-CN. - Add
zh-TWtoAppSettings.languageand package bothzh-TWandzh_TWElectron locale directories. No host protocol or storage schema version changes. - Add a matching
zh-TWproduct changelog catalog and resolve Traditional Chinese release-note requests to it. Plugin manifests keep their existingen+zh-CNcontract; a plugin without a Traditional Chinese field falls back to English, as specified by ADR 0160.
Consequences
- Traditional Chinese users get an independent shell, correct Auto detection, searchable language selection, locale-aware date formatting, and Traditional Chinese release notes.
- The i18n and changelog catalog parity tests cover one additional shipped locale.
- New shell locales still follow ADR 0160: add a catalog, registry row, settings union member, Electron locale pack, and relevant validation.
Alternatives
- Continue mapping Traditional Chinese tags to
zh-CN: rejected because the script and common UI terminology are different. - Add only
zh-TWwhile leaving release notes onzh-CN: rejected because the update surface is part of the active product shell.