Private translation-memory preflight

TMX Translation Memory Auditor & Deduplicator

Review TMX structure, encodings, language coverage, pairs, inline codes, duplicates, and contradictory targets before import. Cleanup removes only complete duplicate translation units under rules you choose; conflicts always remain for human review.

TMX input

Open a translation memory

No TMX file selected.

Files are limited to 32 MiB. UTF-8, US-ASCII, and BOM-marked UTF-16 are decoded explicitly. External DTD declarations are recorded but never fetched; entities and internal DTD subsets are rejected.

Duplicate matching and keep policy

These rules define equivalence only; they never rewrite segment text. Case always remains significant. NFKC can merge compatibility characters, so use it only when your workflow explicitly treats them as equivalent.

Paste or choose a TMX document.

Private by design: translation units, source and target text, metadata, filenames, normalization choices, and reports stay in this browser tab. Nothing is uploaded or fetched.

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