cmux/Resources
Lawrence Chen b07532c522
Add Language setting for per-app locale override (#886)
* Add Language setting to Settings for per-app locale override

Uses UserDefaults AppleLanguages to override locale without changing
macOS system language. Picker shows System/English/Japanese with a
restart prompt when the selection changes.

* Address review feedback: guard relaunch and reset behavior

- Guard relaunchApp() against Process launch failure (don't terminate
  if the new instance didn't start)
- Prevent restart dialog from firing during Reset All Settings

* Add localization requirement to CLAUDE.md

All user-facing strings must use String(localized:) with keys in
Localizable.xcstrings and translations for all supported languages.

* Fix relaunch: use detached shell so open survives app exit

The previous approach spawned open as a child process that could get
killed when the parent terminated. Now spawns a shell with sleep+open
that outlives the current process.

* Fix shell injection risk and SwiftUI state batching in language setting

- Pass bundle path via environment variable instead of interpolating
  into shell command string
- Defer isResettingSettings=false to next run loop tick so onChange
  handler reliably sees the guard during Reset All Settings
2026-03-04 16:03:33 -08:00
..
bin Clear sidebar notification when user submits prompt (#821) 2026-03-03 18:48:32 -08:00
ghostty/terminfo/78 Add cmuxterm CLI and socket control modes 2026-01-28 21:19:48 -08:00
shell-integration Respect shell-integration=none in zsh wrapper (#816) 2026-03-03 16:22:38 -08:00
terminfo-overlay Release v1.23.0 (#31) 2026-02-09 15:30:43 -08:00
Info.plist Add microphone permission metadata for voice transcription 2026-02-25 18:20:10 -08:00
InfoPlist.xcstrings feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
Localizable.xcstrings Add Language setting for per-app locale override (#886) 2026-03-04 16:03:33 -08:00