Skip to content

Add support for additional app languages #22

Description

@Felix-wu998

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions