Bilingual QA Checker
Enter paired id,source,target CSV rows to compare numeric values and units, placeholders such as {name}, {{name}}, and %s, user-defined glossary terms, and empty source or translation rows. Protected items are counted without relying on word order, so normal reordering is allowed. Findings are review candidates; this tool does not judge meaning, grammar, or overall translation quality.
Key features
- Read id,source,target CSV with quoted commas and line breaks
- Compare placeholder types and repeated occurrences as unordered multisets
- Check numeric values separately from units attached to those values
- Use a source,target,kind glossary for required terms or translated unit labels
- Filter blank pairs and flagged rows, then download JSON or CSV review reports
How to use
- Paste or select CSV with the exact header id,source,target.
- Optionally enter a source,target,kind glossary, with kind term or unit.
- Run the comparison and inspect flagged rows and issue types.
- Filter all, flagged, or clear rows to review each aligned sentence.
- Download JSON or CSV and have a human review the translation candidates.
Use cases
- Find a missing {user} placeholder in localized UI text
- Check whether prices, quantities, or temperature values changed in translation
- Review a brand terminology list and untranslated empty rows
Frequently asked questions
Does a different word order count as an error?
No. Placeholder and number/unit occurrences are compared without order. Source and translation do not need the same sentence structure.
Which placeholders are recognized?
The checker recognizes {name}, {{name}}, ${name}, %s, %d, and positional forms such as %1$s. It does not interpret other template syntaxes or the semantics of complex ICU messages.
How are translated units handled?
A limited set of literal units such as kg, lb, and % is built in. Add a kind=unit glossary row to connect another source unit to its translation. No unit conversion is performed.
Are 1,200 and 1200 equivalent?
Yes. Grouping commas and trailing decimal zeros are normalized. Locale-specific comma decimals, formulas, and currency conversion are not interpreted.
Is a missing glossary term always a mistranslation?
No. When a registered source term appears but its specified target form does not, the row is flagged for review. Inflections, synonyms, and context need human judgment.
What limits and report contents apply?
Up to 500 paired rows and 100 glossary rows are supported. JSON includes every row; issue CSV includes flagged rows and their original text. Spreadsheet-formula-like values are protected on CSV export.
Privacy
Sentences and glossary data are read and compared in browser memory. Selected CSV files are not uploaded. JSON and CSV reports include source and translated text, so review them before sharing.
Comments & questions