You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed: changing the app's language in Settings > Apps > TapSense > Language now actually takes effect. Previously it silently did nothing for some testers.
21
+
22
+
No other changes in this build.
23
+
```
24
+
25
+
(200 characters.)
26
+
27
+
### What actually changed (internal)
28
+
29
+
-**Fixed in-app language switching in the release build.** Reported by a closed tester on
30
+
versionCode 5: picking a different language in Settings → Apps → TapSense → Language had no
31
+
effect, even though the identical switch worked fine on a sideloaded debug build. Root cause:
32
+
an Android App Bundle splits resources by language into separate install-time delivery APKs by
33
+
default, so a device only receives the single locale split matching its language at install
34
+
time — Play is supposed to fetch additional splits on demand when the per-app language changes,
35
+
but that delivery proved unreliable, leaving the app stuck on whichever locale it was originally
36
+
installed with. Confirmed via `aapt2 dump configurations`/`dump xmltree`/`dump resources` that
37
+
the versionCode 5 release APK's `resources.arsc`, `locales_config.xml`, and every translated
38
+
string were fully intact — resource shrinking/minification was never the cause, only the App
39
+
Bundle's language-split delivery was. Fixed with `bundle { language { enableSplit = false } }`
40
+
in `app/build.gradle.kts` — Android's own documented fix for apps whose language changes
41
+
independent of the system locale
42
+
(https://developer.android.com/guide/app-bundle/configure-base) — so every install now packages
43
+
every locale's resources into the base module instead of depending on Play to deliver the rest
44
+
later. Verified by decoding the rebuilt `.aab`'s `BundleConfig.pb`
45
+
(`SplitDimension{value: LANGUAGE, negate: true}`) and re-confirming `assembleRelease`/
46
+
`bundleRelease` both still succeed. Not a Play Store policy issue in either direction — disabling
47
+
the split is a supported, policy-neutral Gradle configuration choice; the only trade-off is a
48
+
small download-size increase (translated strings only) applied to every install rather than
49
+
just non-English devices. See `CHANGELOG.md`'s `[Unreleased]` section and
50
+
`DECISIONS.md`'s "Localization" section for full detail.
0 commit comments