Configure checks and automation
Decide how strictly terminology is enforced, how placeholders and plurals are read, and what transglot repairs on its own.
The project's check settings live in Settings → Checks, which Configure on the Quality page also opens. Owners and Admins can change them. Every setting saves the moment you change it.
Confidence routing
Route AI translations by confidence is the first panel on the page. Each AI translation carries a confidence signal. Translations that pass the automatic checks and come back confident can be marked as not needing review, so your reviewers only see the ones worth their time. Everything else is flagged for review. Automatic checks always win: a translation with a broken placeholder, the wrong plural forms, or a glossary conflict is always sent to review no matter how confident it was.
It is off by default and available on Team and above. When you switch it on, a Threshold field sets how confident a translation has to be.
Checks & automation
| Setting | Options | What it decides |
|---|---|---|
| Self-heal | Repair 12 strings | Starts a one-off repair of the failing AI translations. See Self-heal a translation. |
| Glossary enforcement | Off, Warn (default), Enforce | How strictly the terminology check treats glossary terms. See below. |
| Message syntax | Auto (default), ICU, Legacy | How the placeholder and plural checks read your strings. |
| ICU dialect | ICU4C (default), Flutter | Which ICU rules apply to apostrophes. |
| Auto-heal mode | Off, Suggest (default), Apply | What happens to an AI translation a quality check flags. |
| Source drift repair | Off, Suggest (default), Auto | What happens to translations when their source string changes. |
Auto-heal mode and Source drift repair run on Team and above. On other plans they can only be set to Off, and whatever is selected does nothing.
Glossary enforcement
The glossary is always given to Glossa when it translates. Enforcement decides what the terminology check does when a translation still departs from it:
- Off: terminology is not checked.
- Warn: a translation that misses a required term is kept and flagged for review.
- Enforce: a translation that misses a required term is treated as failing the check rather than only flagged.
Under Warn and Enforce, a forbidden term in a translation always fails the check. You can also change enforcement from the Glossary page.
Message syntax and ICU dialect
Message syntax tells the placeholder and plural checks how to read your strings:
- Auto reads a string as ICU MessageFormat only when it holds a plural, select, ordinal, number, date or time argument.
- ICU reads every string as ICU and checks apostrophes and tags strictly.
- Legacy never reads ICU.
On ICU, a translation that is not valid ICU MessageFormat is left out of what your app receives, from a pull straight away and from the CDN at the language's next publish. A version already live keeps its content until then.
ICU dialect matters for apostrophes: Flutter reads an apostrophe as plain text, the way Flutter's own tooling does. Pushing a Flutter ARB file sets it for you.
Auto-heal mode
After a quality check flags an AI translation, auto-heal decides what to do with it:
- Off: nothing. The finding waits for a reviewer.
- Suggest: a suggested fix is attached to the finding. A reviewer sees it under Quality findings in the editor and can select Accept suggestion.
- Apply: Glossa writes a fixed translation, which must pass every automatic check before it is saved.
A translation you have edited or reviewed is never overwritten by AI. Auto-heal only acts on translations Glossa wrote. See Self-heal a translation.
Source drift repair
When someone changes a source string, the existing translations of it may no longer match. With source drift repair on, transglot re-checks those translations shortly after the change (several quick edits to the same string are checked once) and:
- Suggest: attaches a candidate fix for a reviewer to accept.
- Auto: rewrites the AI translations the change broke.
A translation you have edited or reviewed is never overwritten by AI. This setting uses your AI allowance on every source edit that triggers it. See What counts towards my usage.