Quality

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

SettingOptionsWhat it decides
Self-healRepair 12 stringsStarts a one-off repair of the failing AI translations. See Self-heal a translation.
Glossary enforcementOff, Warn (default), EnforceHow strictly the terminology check treats glossary terms. See below.
Message syntaxAuto (default), ICU, LegacyHow the placeholder and plural checks read your strings.
ICU dialectICU4C (default), FlutterWhich ICU rules apply to apostrophes.
Auto-heal modeOff, Suggest (default), ApplyWhat happens to an AI translation a quality check flags.
Source drift repairOff, Suggest (default), AutoWhat 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.

On this page