What the TMX auditor checks
The bounded XML parser checks TMX 1.1 through 1.4 root and header/body structure, required header attributes, declared encoding evidence, source and administration languages, segmentation type, TU/TUV/SEG organization, duplicate language variants, dates, usage counts, properties, empty segments, and paired Level 2 inline codes. It inventories each language and derives directed pairs when a source language is declared; *all* memories use neutral bidirectional pairs.
Duplicates are not conflicts
A duplicate group must contain the same complete set of language variants and inline identities after the selected Unicode and whitespace comparison. A conflict instead has the same normalized source for a target language but multiple target alternatives. Duplicate cleanup follows the selected first/newest/highest-use policy; conflicts remain untouched because deciding between translations requires context and linguistic review.
What cleaned export changes
The cleaned download removes only complete duplicate <tu> source ranges. It preserves every retained unit, note, property, vendor extension, comment, external DTD declaration, inline code, whitespace, and conflict exactly as provided. The XML declaration is changed to UTF-8 because browser downloads are emitted as UTF-8. Comparison normalization is not applied to segment text.
Conformance and semantic boundary
This is a structural audit and conservative duplicate-removal assistant, not full TMX or linguistic conformance testing. It does not fetch or apply the official DTD, validate SRX segmentation rules, interpret every vendor extension, merge notes or properties, judge meaning or translation quality, infer whether normalized forms are semantically interchangeable, or guarantee import and round-trip behavior in a CAT tool. Keep the original file and test the cleaned copy in the intended application.
Frequently asked questions
Can the tool read UTF-16 TMX files?
Yes, when the file has the byte-order mark required by the TMX specification. File bytes are decoded before inspection; cleaned downloads are always UTF-8.
Why does cleanup leave conflicts?
Different targets for the same source may represent domains, clients, contexts, or mistakes. Removing one without that context could destroy valid translation memory.
Does whitespace collapse change the exported translation?
No. It changes only the duplicate-comparison key. Retained source text is preserved byte-for-text after decoding, except that the download encoding declaration becomes UTF-8.
Authoritative reference
The former LISA/OSCAR standard is preserved as the TMX 1.4b Specification. It defines the Unicode encoding rules, document container, translation units and variants, header attributes, dates, segmentation metadata, and Level 2 content markup used by this preflight.
Audit XLIFF packages · Validate JSONL / NDJSON · Browse localization tools