Catch translation errors before they ship

i18nlint checks your translation files for common issues that slip past human review. Ensure every translation meets your quality standards before it reaches production.

Stop shipping broken translations

i18nlint checks your translation files with 25+ configurable rules — placeholders, brackets, punctuation, email addresses, URLs, duplicates and more. Get a clear report in seconds, right in your browser.

Stop shipping broken translations

Everything i18nlint checks

i18nlint works right in your browser. Just upload one or more translation files and instantly get a report to view or download — no setup needed.

🧩

Placeholder checks

Spot missing or incorrect placeholders in translations. Supports various placeholder syntaxes, including ICU MessageFormat (with plural forms), Qt, Gettext, and XLIFF.
🔀

Duplicate detection

Flag the same source translated two ways — or one translation reused for different sources.
🔍

25+ pattern rules

Brackets, URLs, emails, currency, whitespace, punctuation and numbers — compared between source and translation.
📊

Reports you can use

Export a self-contained HTML report, CSV for spreadsheets, or SARIF for code-scanning tools.
🔒

Files deleted immediately

All uploaded files are deleted instantly after processing. Your data is never stored or retained.
📄

Supported file formats

Reads XLIFF 1.2 & 2.x, Qt Linguist (.ts) and Gettext (.po) files, including inline markup and plural forms.
📏

Length ratios

Catch suspiciously short or long translations relative to the source.
🎛️

Fully configurable

Tune every rule’s severity and exclude ID's or messages you don’t care about.
📂

Process whole directories

Lints thousands of translation units in a blink — single files or whole directories.

Frequently asked questions