Skip to content

fix(watchos): report the real user language instead of hardcoded "en"#63

Merged
proggeramlug merged 1 commit into
mainfrom
fix/watchos-language
Jun 12, 2026
Merged

fix(watchos): report the real user language instead of hardcoded "en"#63
proggeramlug merged 1 commit into
mainfrom
fix/watchos-language

Conversation

@proggeramlug

Copy link
Copy Markdown
Contributor

bloom_get_language on watchOS was a stub returning 25966.0 ("en" packed as c0*256+c1), so games never localized on the watch.

Swift now reports Locale.preferredLanguages at launch through a new bloom_watchos_set_language entry point — the same Swift→Rust pattern as the crown input. The packing matches the cross-platform contract documented on getLanguage() in core: ASCII of the lowercased ISO-639 primary subtag, script subtags dropped (zh-Hans → "zh").

Verified on the watchOS 26.4 simulator: German and Japanese title screens render fully localized (launch with -AppleLanguages "(de)").

bloom_get_language was a stub returning 25966.0 ("en" packed), so games
never localized on watchOS. Swift now reports Locale.preferredLanguages
at launch via a new bloom_watchos_set_language entry point — same
Swift→Rust pattern as the crown input. Packing matches the cross-platform
contract: c0*256 + c1 of the lowercased ISO-639 primary subtag, script
subtags dropped (zh-Hans -> "zh"). Verified on the watchOS simulator
in German and Japanese.
@proggeramlug proggeramlug merged commit 92fb930 into main Jun 12, 2026
8 checks passed
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