1.2 KiB
1.2 KiB
Localization
The app uses app/src/main/res/raw/supported_locales.tsv as the locale source of truth. The catalog is seeded from target_countries.txt.
Locale status controls rollout:
complete: included in the in-app language picker and generated AndroidlocaleConfig.partial: included in both, and shown as partial in the picker.planned: tracked for target-country coverage, but not exposed to users.
To add a translated language:
- Create the matching
app/src/main/res/<resourceQualifier>/strings.xml. - Translate every key from
app/src/main/res/values/strings.xml. - If marking the locale
complete, also translateapp/src/main/res/raw/privacy_policy.txtinto the matching raw resource folder, such asraw-es/privacy_policy.txt. - Change the locale row status in
supported_locales.tsvfromplannedtocompleteorpartial. - Run
bash gradlew verifyLocalization.
Mark a locale complete when all required UI strings and localized privacy policy copy are present and accepted for release. Native or legal review is recommended for sensitive markets, but the build only enforces resource completeness.
generateLocaleConfig builds @xml/locales_config from active rows, so do not hand-edit a static locales_config.xml.