Paste XLIFF 1.2 or 2.0 content, or drop a .xlf / .xliff file
Runs in your browser. Files are not uploaded unless the tool says otherwise.
Validate XLIFF 1.2 and 2.0 files: structure, languages, duplicate unit IDs, missing targets and placeholder mismatches.
Paste XLIFF 1.2 or 2.0 content, or drop a .xlf / .xliff file
Runs in your browser. Files are not uploaded unless the tool says otherwise.
XLIFF 1.2 (2008) is still the most widely exchanged flavour: a <file> with source-language, target-language, original and datatypeattributes, a <body>, and one <trans-unit id> per string with <source> and <target>. XLIFF 2.0 (2014) moves the languages to srcLang and trgLang on the root, requires an id on every <file> and <unit>, and wraps text in <segment> elements. Apple Xcode exports 1.2, Angular's extract-i18n and .NET tooling can produce either, and SimpleLocalize imports and exports both XLIFF 1.2 and XLIFF 2.0.
<xliff>, a missing or unexpected version, and a namespace that does not match the version.original, datatype, id on files and units, and a <body> in 1.2 files.needs-translation reported as info.<x/>, <g>, <ph>, <bpt>/<ept> in 1.2; <ph>, <pc> in 2.0) are compared by name and id between source and target, and unbalanced pairs are flagged.{name}, %s, %1$d and similar tokens must appear the same number of times in source and target.Most broken files come from hand edits or from tools that concatenate files: unescaped & and < in text, a BOM in the middle of the document, translators deleting an <x/>tag that carried a line break, or two exports merged with the same unit IDs. The line number in the report points at the opening tag of the affected unit so you can jump straight to it.
This validator checks structure and consistency, not schema conformance for every optional element, and it does not evaluate translation quality. It runs entirely in your browser, so files never leave your machine. For continuous checks on placeholders, length, glossary terms and HTML across every language, upload the file to SimpleLocalize and let the built-in QA checks run on each change.