Skip to main content

Quality Check tool

The Quality Check tool runs a battery of rule-based checks over each translation and records the findings on the block's properties as a JSON array of QA issues, along with a pass/fail flag. The checks span several categories: general text issues (empty target, whitespace mismatches, double spaces, doubled words, target identical to source, corrupted characters), inline-code consistency, span constraint violations, regex pattern preservation, and length ratios. A target locale is required; when a block has no translation, only the empty-target check applies.

With no --provider, the checks are deterministic and need no credentials. Setting --provider instead runs LLM-judged QA: the chosen model reviews each translation for terminology, fluency, and accuracy. The rule-based toggles below apply to the deterministic mode; model and checks apply to the LLM mode. Every rule check can be toggled independently, and the length checks share the long/short ratio model used by the dedicated length-check tool.

IDqa
SourceBuilt-in
Categoryquality
Cardinalitybilingual
Requirestarget-language, credentials
Tagsquality, l10n

Parameters

ParameterTypeDefaultDescription
absoluteMaxCharLengthinteger255Maximum number of characters allowed in any target segment
apiKeystringAPI key for the AI provider
charsetstringISO-8859-1Name of the character set encoding to check against (e.g. ISO-8859-1)
checkAbsoluteMaxCharLengthbooleanfalseFlag target segments that exceed an absolute character count limit
checkCharsetbooleanfalseWarn if a target character is not included in the specified character set encoding
checkCodeDifferencebooleantrueVerify that target segments have the same inline codes as source segments
checkCorruptedCharactersbooleantrueCheck for patterns indicating encoding corruption (mojibake
checkDoubledWordbooleantrueCheck for consecutive repeated words in target text
checkDoubleSpacesbooleantrueCheck for double spaces in target text
checkEmptySourcebooleantrueCheck for non-empty target when source is empty
checkEmptyTargetbooleantrueCheck for empty target when source has content
checkLeadingWhitespacebooleantrueCheck for leading whitespace mismatches between source and target
checkMaxCharLengthbooleantrueFlag targets longer than a percentage of source character length
checkMaxWordsbooleanfalseFlag target segments that exceed an absolute word count limit
checkMinCharLengthbooleantrueFlag targets shorter than a percentage of source character length
checkPatternsbooleantrueVerify that source patterns have expected corresponding content in the target
checksstring[]Quality checks to perform (e.g. terminology fluency accuracy consistency)
checkSourceInconsistencybooleanfalseFlag when different source texts share the same translation
checkSpanConstraintsbooleantrueCheck non-deletable and non-cloneable span constraint violations
checkTargetInconsistencybooleanfalseFlag when the same source text is translated differently across the run
checkTargetSameAsSourcebooleantrueCheck when target text is identical to source text
checkTerminologybooleanfalseEnable terminology checks
checkTrailingWhitespacebooleantrueCheck for trailing whitespace mismatches between source and target
consistencyCaseSensitivebooleantrueWhether consistency comparison is case-sensitive
doubledWordExceptionsstringsie;vous;nousSemicolon-separated list of words allowed to repeat (e.g. sie;vous;nous)
forbiddenCharsstringCharacters that must not appear in target text (e.g. {}[])
maxCharLengthAboveinteger200Maximum allowed percentage of source length for long text
maxCharLengthBelowinteger350Maximum allowed percentage of source length for short text
maxCharLengthBreakinteger20Character count above which text is considered long for the maximum length check
maxWordsinteger0Maximum number of words allowed in any target segment
minCharLengthAboveinteger45Minimum required percentage of source length for long text
minCharLengthBelowinteger30Minimum required percentage of source length for short text
minCharLengthBreakinteger20Character count above which text is considered long for the minimum length check
modestringrulesHow to check quality: deterministic local rules, or an AI provider's review
modelstringAI model name
providerstringanthropicAI provider
requiredCharsstringCharacters that must appear in target if present in source (e.g. punctuation)
strictCodeOrderbooleanfalseFlag differences when codes appear in a different order between source and target
targetSameAsSourceWithCodesbooleantrueInclude inline codes when comparing source and target for identity
targetSameAsSourceWithNumbersbooleantrueInclude number-only segments in same-as-source comparison

Configure it live

Configuration
Loading form…

Examples

Inline-code and whitespace checks only

Focus on code preservation and whitespace, disabling the length-ratio checks.

checkCodeDifference: true
checkLeadingWhitespace: true
checkTrailingWhitespace: true
checkMaxCharLength: false
checkMinCharLength: false

Enforce an absolute character cap

Flag any target segment longer than 200 characters.

checkAbsoluteMaxCharLength: true
absoluteMaxCharLength: 200

Processing notes

  • Operates on translatable blocks; non-translatable structure passes through unchanged.

  • When a block has no translation, only the empty-target check applies.

  • Findings are stored on the block as a JSON array of QA issues with a pass/fail flag.

Limitations

  • Length and ratio checks compare character lengths only when source and target are both non-empty.

  • The regex pattern pairs used by checkPatterns are supplied programmatically, not as schema parameters.

  • Requires a configured target locale.

← Back to the Tool Reference