Skip to content

feat(i18n): add Simplified Chinese for the macOS app UI - #9

Open
REMIXPLAYER wants to merge 3 commits into
harkhowalia-1:mainfrom
REMIXPLAYER:localization/zh-Hans
Open

REMIXPLAYER wants to merge 3 commits into
harkhowalia-1:mainfrom
REMIXPLAYER:localization/zh-Hans

Conversation

@REMIXPLAYER

Copy link
Copy Markdown

Summary

Adds Simplified Chinese (zh-Hans) for the macOS menu-bar app. When the Mac language is 简体中文, settings, notices, status, privacy, and setup/install copy follow the system language.

English remains the source keys and CFBundleDevelopmentRegion. User-visible strings go through a small L10n helper; zh-Hans Localizable.strings / InfoPlist.strings are registered in project.yml.

Scope

In scope: host app UI (settings, notices, status, privacy categories, setup/install prompts, microphone usage description, and user-visible errors).

Out of scope: Android guest locale inside the VM, AppHost localization, README/website copy, and keeping translation catalogs (csv/md) in-tree.

Commits

  1. Localization wiring and zh-Hans strings (English source keys unchanged).
  2. Clarify four English source strings (Automatic, As needed, phone/SMS hardware note, locked-permission help) so wording matches the decided Chinese. Revert this commit alone if English UI should stay as before.

Follow-up (not in this PR)

No in-app language switch — the host UI follows the Mac system language. A later change could detect that language and pass it through to the Android VM locale; that is intentionally out of scope here.

Validation

  • Debug build succeeded on Apple Silicon.
  • UI spot-checked with the system language set to Simplified Chinese.

Wire user-visible String values through a small L10n helper and ship
zh-Hans Localizable/InfoPlist strings so the menu bar app follows the
system language. English remains the source keys and development region.
…and locked permissions.

English UI copy only: shorten the Automatic and As needed resource blurbs, expand the phone/cellular hardware banner so Messages is covered, and make the locked-permission help say the control cannot be changed. zh-Hans values are unchanged; keys are renamed to match.
@REMIXPLAYER

Copy link
Copy Markdown
Author

Two follow-ups I’d like your take on (not in this PR):

  1. README — English-only, or OK with a separate README.zh-CN.md?
  2. VM locale — Host UI follows Mac language; guest still boots en-US. For Simplified Chinese, would first-boot cmd locale set-device-locale (same hook as timezone) make sense? Map zh-Hans → zh-Hans-CN, sync only once so manual guest changes aren’t overwritten. Caveat: some AOSP strings may stay English; may need a soft restart.

Happy to follow your preference.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant