Translation quality report
Updated: September 16, 2026
What breaks a translated app is rarely a badly chosen word. It is a {count} that disappeared, a plural that was rewritten by hand, a <b> that lost its closing tag, or a button label three times longer than the original.
AZbox checks all of that against your source language, without needing to know the language.
What it checks
- Placeholders.
{name},{{name}},%s,%1$s,%{name},:name,%@. Missing in the translation, or invented in it. - ICU plurals. Braces that do not close, a plural without
other, unknown forms, and forms the target language needs: Russian needsfewandmany, Japanese only needsother. Following CLDR. - HTML tags. Tags that do not match the original, in kind or in number.
- Length. Translations far longer than the source — the usual cause of a clipped button — and suspiciously short ones.
- Spacing that differs at the start or end, and translations identical to the source, which usually means untranslated.
- What is missing: keywords with no text yet in a language.
Each finding is an error (placeholders, ICU, HTML: these break the app), a warning (length, spacing, missing) or info.
In the dashboard
Open a project and click Quality. Filter by severity or language, and download the whole thing as CSV.
In CI
The same report, from the CLI:
npx azbox-cli qa --fail-on error
84 keywords, source EN
ES: 84 translated, 0 missing, 1 errors, 2 warnings
FR: 61 translated, 23 missing, 0 errors, 0 warnings
✖ ES checkout.pay: Missing in the translation: {amount}
! ES home.cta: 214% of the original length: it may not fit
It exits with 1 when there is anything at or above --fail-on (error by default, warning if you want to be strict, none to only report), so a broken placeholder stops the deploy instead of reaching your users. --json and --csv print the full report to store as a build artifact.
Through the API
GET /v1/projects/{projectId}/qa?source=EN&languages=ES,FR
With an API key, like any other read. format=csv for the CSV. See the REST reference.
Next
Start Global Growth Today
Upload your language files, get them translated, and keep every locale in sync as your product keeps changing.
Get Started - It's Free