Skip to content

English default locale, tr.lproj bundle, macOS 15/16 compat, misc fixes#1

Open
hesit8 wants to merge 1 commit intosenoldogann:mainfrom
hesit8:english-localization-fixes
Open

English default locale, tr.lproj bundle, macOS 15/16 compat, misc fixes#1
hesit8 wants to merge 1 commit intosenoldogann:mainfrom
hesit8:english-localization-fixes

Conversation

@hesit8
Copy link
Copy Markdown

@hesit8 hesit8 commented Apr 3, 2026

Summary

  • macOS compatibility — platform target changed from .v26 (macOS 16 beta SDK) to .v15 minimum, supporting macOS 15 and 16
  • English as default language — app was defaulting to Turkish on non-Turkish systems; English is now the default with Turkish available as a proper locale selection
  • Standard Apple localisation — Turkish strings moved from hardcoded L("tr", "en") pairs into tr.lproj/Localizable.strings; defaultLocalization = "en" added to Package.swift
  • Date formatter locale — hardcoded tr_TR locale in RateLimitFetcher replaced with en_US_POSIX so month/time labels display correctly for all users
  • Close button fix — the Close button on the account-added success screen inside the menu popover was calling closeAddAccountWindow() which is a no-op in that context; it now resets addingStep to idle correctly
  • Fetch failure backoff bugconsecutiveFetchFailures backoff would permanently stop rate limit polling after 3 consecutive failures (counter never reset); now backs off for 3 cycles then retries
  • Hardcoded Turkish strings — fallback strings in ProfileManager and AppStore replaced with English
  • Sparkle auto-updates disabledSUEnableAutomaticChecks set to false; users who build from source can review changes before manually updating
  • Build script — Sparkle.framework now bundled into app and rpath fixed so the app launches correctly

Test plan

  • Build with swift build -c release on macOS 15
  • Run bash build.sh and open CodexSwitcher.app — should launch and appear in menu bar
  • Add an account — Close button on success screen should dismiss back to normal menu
  • Verify all UI strings appear in English by default
  • Set appLanguage to tr in UserDefaults and verify Turkish strings load from bundle

🤖 Generated with Claude Code

- Fix macOS platform target from .v26 (macOS 16 beta SDK) to .v15 minimum,
  supporting macOS 15 and 16
- Set English as default language (was system locale, defaulted to Turkish)
- Move Turkish strings to tr.lproj/Localizable.strings standard Apple bundle;
  add defaultLocalization = "en" to Package.swift
- Replace hardcoded tr_TR date formatter locale with en_US_POSIX
- Fix close button on account-added inline view (closeAddAccountWindow is a
  no-op in the popover context; now resets addingStep to idle)
- Fix consecutiveFetchFailures backoff permanently stopping after 3 failures
- Replace hardcoded Turkish fallback strings with English equivalents
- Disable Sparkle auto-updates (SUEnableAutomaticChecks = false)
- Bundle Sparkle.framework and fix rpath in build.sh
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.

2 participants