Skip to content

feat(i18n): per-app language in system settings; missing translations warn - #56

Merged
usamaiqb merged 2 commits into
mainfrom
feat/per-app-language
Oct 16, 2026
Merged

usamaiqb merged 2 commits into
mainfrom
feat/per-app-language

Conversation

@usamaiqb

Copy link
Copy Markdown
Owner

Summary

Follow-up to #54. On Android 13+, MarkReader now appears under Settings → Apps → Language, so people can pick its language without changing the whole phone's. Lint also stops failing the build when a new string has no translations yet.

Changes

  • Per-app language – generateLocaleConfig lists the translated locales in the manifest (android:localeConfig), with en-US as the default via res/resources.properties. The generated config covers English plus the 16 locales from feat(i18n): add European and Slavic localizations #54. Below Android 13 nothing changes: the app follows the device language, as before.
  • Lint policy – MissingTranslation is now a warning. Translations arrive in separate community PRs, so a feature PR can add strings before they're translated, and Android falls back to English at runtime. ExtraTranslation stays an error: a translation of a string that no longer exists is stale and should be deleted with the string.
  • Lint header – Rewrote the outdated comment at the top of lint.xml.

Notes

There's no in-app language picker yet. Below Android 13 that needs AppCompat or locale handling of our own, so it waits for the settings rework.

@usamaiqb usamaiqb self-assigned this Oct 16, 2026
@usamaiqb
usamaiqb merged commit 85b1a39 into main Oct 16, 2026
3 checks passed
@usamaiqb
usamaiqb deleted the feat/per-app-language branch October 16, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant