ci(i18n): translation parity guard + allow partial translations
Add scripts/check_translations.py and a lightweight Translations workflow that runs it (no Android SDK needed) so Weblate PRs get fast feedback. The script fails on stale keys (present in a translation but not the base) and on translating translatable="false" entries; missing keys are reported as coverage only. Downgrade lint's MissingTranslation to informational: partial community translations are expected and fall back to the English base at runtime. Stale/extra keys (ExtraTranslation) remain fatal in lintDebug. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,15 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
lint {
|
||||
// Community translations are expected to be partial — a missing string
|
||||
// falls back to the English base at runtime — so don't fail the build on
|
||||
// it. Stale/extra keys (ExtraTranslation) stay fatal; scripts/
|
||||
// check_translations.py guards the same invariants with clearer,
|
||||
// translator-facing messages.
|
||||
informational += "MissingTranslation"
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests {
|
||||
all { it.useJUnitPlatform() }
|
||||
|
||||
Reference in New Issue
Block a user