Summary
PR #21 adds the first global localization pass with English, Simplified Chinese, Traditional Chinese, Hindi, Japanese, Korean, German, French, Spanish, and Brazilian Portuguese.
This issue tracks future language expansion beyond that first set, so additional locales can be discussed and contributed independently without expanding the current PR scope.
Candidate languages
Potential next languages include, but are not limited to:
- Italian (
it)
- Dutch (
nl)
- Polish (
pl)
- Russian (
ru)
- Turkish (
tr)
- Arabic (
ar)
- Indonesian (
id)
- Vietnamese (
vi)
- Thai (
th)
- Swedish (
sv)
Expected scope for each new locale
A complete contribution should include:
Resources/<locale>.lproj/Localizable.strings
- A localized README, when the locale is intended to be user-facing in GitHub docs
- Updates to the language picker if the locale should be selectable in-app
- Updates to localization validation scripts if needed
- A quick UI pass for Settings, Usage, Cost, Overview, footer/status text, tooltips, and error messages
Translation quality notes
- Keep product and brand names unchanged: CodexIsland, Claude, Codex, GitHub, Homebrew, Sparkle.
- Keep UI text short enough for the current macOS Settings and notch-panel layout.
- Prefer natural local wording over literal English translation.
- Preserve placeholders such as
%@, %d, and %% exactly.
- Avoid hardcoding units around generic string placeholders unless the source key guarantees that unit.
Validation
Before opening a PR for a new locale, run:
plutil -lint Resources/*.lproj/Localizable.strings
./scripts/check-localization.sh
./scripts/check-readmes.sh
./scripts/verify.sh
Native-speaker review would be especially helpful for new locales.
Summary
PR #21 adds the first global localization pass with English, Simplified Chinese, Traditional Chinese, Hindi, Japanese, Korean, German, French, Spanish, and Brazilian Portuguese.
This issue tracks future language expansion beyond that first set, so additional locales can be discussed and contributed independently without expanding the current PR scope.
Candidate languages
Potential next languages include, but are not limited to:
it)nl)pl)ru)tr)ar)id)vi)th)sv)Expected scope for each new locale
A complete contribution should include:
Resources/<locale>.lproj/Localizable.stringsTranslation quality notes
%@,%d, and%%exactly.Validation
Before opening a PR for a new locale, run:
plutil -lint Resources/*.lproj/Localizable.strings ./scripts/check-localization.sh ./scripts/check-readmes.sh ./scripts/verify.shNative-speaker review would be especially helpful for new locales.