VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

How People Translate Quickly | TMX Import Validation: Check Language Pairs, Locales, TUs and Tags Before a Translation Memory Goes Live

Three students reviewing open textbooks, notes and stationery together at a classroom table.

People searching TMX import, TMX translation memory, TMX validator, translation memory import, TMX language pair, TMX locale matching, TMX 1.4b, or how to check a TMX file before importing it are usually not trying to learn the entire theory of translation memory. They are trying to answer a narrower operational question: can this TMX file be trusted enough to enter a live translation memory without misrouting languages, flattening locales, importing broken tags, or seeding thousands of low-trust translation units into future work?

Current TMS documentation uses practical terms such as TMX 1.4/1.4b, source language, target language, strict locale matching, translation units, language variants, tags, creation metadata, and processed translation units before deduplication. These terms point to the dominant reader job. A TMX import should be treated like a data migration: verify the header, language direction, locales, units, inline markup, metadata, duplicates, and sample retrieval behavior before the file becomes part of an authoritative memory.

This article has one dominant job: validate a TMX file before importing it into a working or master translation memory. It does not replace translation-memory cleanup, which repairs the quality of entries already inside a memory. It does not replace legacy-translation auditing, which asks whether old translations are linguistically and commercially safe to reuse. TMX import validation is the gate in between: confirm that the interchange file is structurally coherent and mapped to the correct languages before its contents become searchable, pre-translatable, and potentially authoritative.

Quick answer

A reliable TMX import-validation workflow is:

  1. identify the TMX version and producing system;
  2. preserve the original TMX before editing or conversion;
  3. inspect the TMX header for source language and metadata assumptions;
  4. inventory all language codes present in translation-unit variants;
  5. compare those codes against the destination TM’s source and target locales;
  6. enable strict locale matching when regional distinctions must remain separate;
  7. count translation units before and after import and compare deduplication behavior;
  8. inspect inline tags and protected markup in a representative sample;
  9. review creation/change metadata and custom properties that may affect trust;
  10. import into a sandbox TM first;
  11. search for known segments, wrong-language entries, and suspicious target variants;
  12. only then import the file into the production working or master TM.

The central rule is:

a TMX file is reusable translation data only after its language identity, structural integrity, and import behavior have been verified.

What TMX is actually carrying

TMX stands for Translation Memory eXchange.

A TMX file normally contains many translation units. A simplified conceptual unit looks like this:

<tu>
  <tuv xml:lang="en-US">
    <seg>Save your changes.</seg>
  </tuv>
  <tuv xml:lang="de-DE">
    <seg>Speichern Sie Ihre Änderungen.</seg>
  </tuv>
</tu>

The tu represents a translation unit. The tuv elements represent language variants of that unit. The seg elements contain the source and target text.

Real TMX files can also carry creation date, creator, change date, changer, client, domain, project, context, custom properties, and inline tags. That means a TMX file is not only a bilingual sentence list. It is a reusable data package with identity and provenance.

Why a TMX import can create silent damage

A bad DOCX usually fails visibly. A bad TMX can import successfully and still cause damage later.

Examples include:

  • en-US content imported into a TM expected to use generic EN;
  • French-Canada targets mixed with French-France;
  • source and target language direction reversed;
  • old vendor memory outranking current client memory;
  • tags converted incorrectly;
  • duplicate units creating conflicting suggestions;
  • metadata stripped so reviewers cannot judge provenance.

The import button can succeed. The project can still become worse. That is why import validation matters.

TMX validation has three layers

Layer 1: structural

Can the file be parsed as valid TMX/XML?

Layer 2: mapping

Do the languages, locales, and metadata map correctly into the destination TM?

Layer 3: reuse behavior

After import, do the expected translations appear in search and pre-translation without unexpected alternatives or broken tags?

All three should pass.

Step 1: identify the TMX version

Many modern tools support TMX 1.4 and 1.4b. Do not assume every TMX-like file follows the same conventions.

Record:

  • TMX version;
  • producing CAT/TMS;
  • export date;
  • source memory name;
  • expected source locale;
  • expected target locales.

This information belongs in the import log.

Why the producing system matters

Different systems export different metadata. One system may preserve creation user, changed user, project field, and context path. Another may omit them. A destination TMS may rename fields during import.

That is normal if documented. The important question is:

What information survives, and what information disappears?

Step 2: preserve the original

Before normalizing language codes, deleting tags, editing XML, deduplicating, or converting encodings, save the original.

Use a clear name:

ClientAMasterTM2026-09-19_original.tmx

Then create:

ClientAMasterTM2026-09-19_validated-copy.tmx

A TMX repair should be reversible.

Step 3: inspect the header

The TMX header can carry information such as creation tool, creation-tool version, segmentation type, original format, admin language, and source language.

The source-language field is especially important. If the file’s source language is not the destination TM’s source language, stop and investigate.

Source language is not just a label

Suppose a TM expects English → German. The TMX header suggests German as source. The file may still contain both languages, but source-target direction affects search, pre-translation, penalty, and editing assumptions.

Do not import and “see what happens” in production. Use a sandbox.

Step 4: inventory every language code

Do not inspect only the header. Count every language code used in tuv elements.

You may find:

  • en;
  • en-US;
  • en-GB;
  • de;
  • de-DE;
  • fr-FR;
  • fr-CA.

The file may be multilingual even if the exporter’s UI described it as bilingual.

Create a language inventory.

Language codeTUV countExpected?
en-US42,180yes
de-DE42,110yes
en70investigate
fr-FR12wrong file?

Twelve unexpected French entries can contaminate German TM search. They deserve investigation.

Step 5: decide strict locale matching

The underlying decision is simple: should a generic language code be treated as equivalent to a specific regional locale?

Should en be treated as equivalent to en-US? Should pt-BR be allowed into pt-PT? Should fr-FR be allowed into fr-CA?

There is no universal answer.

When strict locale matching is valuable

Use strict matching when regional distinctions matter strongly:

  • legal language;
  • medical terminology;
  • product names;
  • spelling;
  • units;
  • date conventions;
  • regulated text.

It prevents a “close enough” language code from silently entering the wrong resource.

When looser mapping can be acceptable

A general internal memory may intentionally accept en and en-US as the same source variety. Or a legacy memory may use generic codes because the old system did not preserve locales.

If you relax matching, document the decision, inspect samples, and consider adding a TM penalty or lower priority. Loose mapping should be deliberate.

Worked example 1: English locale mismatch

Destination TM:

en-US → de-DE.

Incoming TMX:

en → de-DE.

Possible choices:

Strict

Reject or skip generic EN.

Mapped

Treat en as en-US.

The right choice depends on the memory. If the source is product documentation written consistently in US English, mapping may be safe. If source comes from mixed British and American content, the generic code hides a real distinction.

Worked example 2: French regional target

Destination:

en-US → fr-CA.

Incoming:

en-US → fr-FR.

A translator may understand both. The product may not accept both. Differences can include terminology, institutional language, legal references, and UI convention.

Do not merge regional target locales merely because readers can understand them.

Step 6: check source-target inversion

One of the most damaging import mistakes is reversed direction.

Expected:

English source, German target.

But the TMX is effectively German → English.

Symptoms after import include source searches returning nothing, German appearing in the source column, or pre-translation suggestions looking reversed.

Test before production. Search a known English sentence. Confirm it appears as source and the German variant appears as target.

Bidirectional TMs require explicit policy

Some systems can leverage a TM in both directions. That can be useful. It can also hide source-direction confusion.

If bidirectional lookup is enabled, still record the canonical direction. A resource should have a clear intended role.

Step 7: inspect translation-unit counts

Before import, count:

  • tu units;
  • language variants;
  • empty segments;
  • units with more than two languages.

After import, compare processed units, stored units, duplicates removed, and variants per language.

Deduplication can make stored counts lower than incoming counts. That can be healthy. The important question is whether the difference is explainable.

Deduplication can be healthy

Incoming TMX:

100,000 translation units.

Destination stores:

82,000.

Possible reason:

18,000 duplicates collapsed.

That may be fine. But if the destination stores only 12,000, something is wrong. Possibilities include wrong language mapping, invalid structure, import filtering, excessive deduplication, or empty targets.

Counts are diagnostic.

Step 8: inspect duplicates before import

A TMX can contain the same source with the same target, several stylistic variants, contradictory targets, or valid regional variants. These cases are different.

Same source + same target

Probably harmless duplicate.

Same source + stylistic variants

Potential review noise.

Same source + contradictory meaning

High risk.

Same source + different locale

May be legitimate.

Do not deduplicate blindly before understanding why the variants exist.

Step 9: inspect target multiplicity

One source unit can have multiple target-language variants. That may be intended. A multilingual TMX can carry German, French, Japanese, and other targets under the same source unit.

If you are importing into a bilingual TM, the destination may import only the target languages configured in that TM. Know the behavior. Do not assume every target variant will survive.

Step 10: inspect inline markup

TMX segments can contain inline markup. Examples include paired tags, placeholders, and formatting markers.

A destination system may preserve them, normalize them, or remove them if an import option says “remove tags.” Tag behavior affects reuse.

“Remove tags” can help and hurt

Removing tags can reduce tag noise from legacy systems. It can also destroy useful structural information.

Consider:

Source:

Click <b>Save</b>.

A TM with tags can preserve emphasis. A tag-stripped TM stores:

Click Save.

Depending on the project, that may be acceptable or may reduce exact matching. Test rather than assuming.

Step 11: inspect proprietary inline tags

Some TMX exporters encode tags in tool-specific ways. A receiving tool may not understand them.

Symptoms include:

  • raw tags visible in matches;
  • strange {1} markers;
  • broken formatting;
  • lower match percentages.

Use a sample import. Do not clean thousands of tags manually without first understanding the exporter.

Step 12: inspect Unicode and encoding

TMX files are XML and commonly UTF-8. Check the encoding declaration and inspect accented characters, non-Latin scripts, combining marks, and replacement characters.

A file can parse and still contain corrupted text from an earlier export.

Look for:

  • �;
  • mojibake;
  • doubled escapes;
  • lost diacritics;
  • suspicious question marks.

Encoding damage should be repaired before import, not after the corrupt segments become reusable history.

Step 13: inspect source and target empties

A translation unit may contain source with empty target, target with empty source, or whitespace-only content.

Decide whether such units should enter the TM. Usually a translation memory should not store meaningless empty pairs.

Filter or quarantine them.

Step 14: inspect same-as-source pairs

Some same-as-source units are legitimate:

  • brand;
  • code;
  • product name;
  • standard;
  • URL.

Others are untranslated contamination.

Sample them. If 20% of a foreign-language TM consists of identical full sentences, the memory may contain copied source. Do not import blindly.

Step 15: inspect language contamination

Search target variants for words or scripts from the wrong language.

Examples:

German TM contains French sentences, English untranslated paragraphs, or Italian fragments.

This can happen after vendor merges, wrong-locale exports, or manual spreadsheet conversions.

Target-language and script checks can help before import.

Step 16: inspect metadata fields

TMX may carry properties such as:

  • client;
  • project;
  • subject or domain;
  • creator;
  • creation date;
  • changer;
  • change date.

These fields can support TM penalties, filtering, and provenance.

If the destination strips them, the TM may become less trustworthy because old and new content look identical to the retrieval engine.

Know which fields survive.

Step 17: decide what metadata is authoritative

A field saying:

client=Acme

does not prove the translation belongs to Acme. Legacy migrations can contain stale labels.

Use metadata as evidence, not absolute truth.

When metadata is weak, lower trust rather than inventing confidence.

Step 18: inspect creation and change dates

Very old segments may use obsolete product names, old grammar conventions, superseded legal terms, or retired style rules.

Dates can support a trust policy.

Example:

  • reviewed after 2024 → normal priority;
  • before 2018 → lower priority or penalty.

Do not delete old units solely because they are old. Use age together with domain knowledge.

Step 19: inspect creator fields cautiously

Creator IDs can be useful for provenance. But user IDs may not map into the destination system. Unmatched usernames may import as empty or generic values.

Do not build a critical trust policy around fields that disappear during migration.

Step 20: inspect context metadata

TMX can carry context information. Different exporters encode it differently.

Some context can only be approximated after migration. This matters for:

  • 101% matches;
  • previous/next context;
  • file paths;
  • UI keys.

If context cannot be preserved, imported units may still be useful as 100% or fuzzy matches, but confidence should reflect the loss.

Step 21: inspect segmentation history

A TMX can carry units created under a different segmentation profile.

Example old TM:

See Fig.

4 for details.

Current project:

See Fig. 4 for details.

The TM is not necessarily wrong. The historical segmentation differs.

This can reduce leverage. Alignment or cleanup may help, but do not mechanically merge every fragment without understanding context.

Step 22: inspect source normalization

Legacy TMs can contain source variants differing only by whitespace, punctuation, Unicode normalization, or tag representation.

Deduplication may treat them separately.

A cleanup pass can normalize selected properties, but do not normalize meaning-bearing distinctions.

For example, changing hyphens, minus signs, decimal punctuation, or code case can change technical meaning.

Step 23: import into a sandbox TM

Create a non-production memory.

Import the TMX.

Record:

  • processed units;
  • stored units;
  • warnings;
  • language variants;
  • skipped rows;
  • import duration.

Do not attach it to a live project yet.

Step 24: run known-sentence searches

Choose 20 source examples from the TMX:

  • short;
  • long;
  • tagged;
  • number-heavy;
  • regional term;
  • old term.

Search the sandbox.

Verify the correct target, metadata, tags, and match score.

This is functional validation.

Step 25: test pre-translation behavior

Attach the sandbox TM to a small sample project.

Run analysis or pre-translation.

Check:

  • exact matches;
  • fuzzy matches;
  • wrong-language suggestions;
  • stale terms;
  • tags;
  • context behavior.

A TM that looks clean in a list can behave badly in real retrieval.

Step 26: compare against the existing production TM

If the TMX will be merged into an existing memory, search overlapping sources.

Possible outcomes:

  • new TM agrees;
  • new TM conflicts;
  • new TM has newer preferred term;
  • new TM has older style.

Do not merge conflict blindly. Choose precedence.

Step 27: use a temporary lower priority

When trust is uncertain, attach the imported TM read-only, give it lower priority or a penalty, and let linguists inspect results.

After confidence grows, promote.

You do not have to make a new TM authoritative on day one.

Step 28: decide import destination

Possible destinations include:

Working TM

Good for pilot or uncertain imports.

Client TM

Good when provenance is strong.

Master TM

Only when quality and ownership are trusted.

Do not import an unknown vendor dump straight into the master resource.

Step 29: record the import log

A useful log might say:

File: VendorA_2026Q3.tmx Version: TMX 1.4b Languages: en-US → de-DE Incoming TUs: 84,210 Stored: 78,922 Strict locale: yes Tags: preserved Sandbox sample: 50/50 correct mapping Issues: 43 wrong-language targets removed Destination: working TM

This makes future troubleshooting possible.

Step 30: quarantine suspicious subsets

If 95% of the TMX is trustworthy and 5% is questionable, do not necessarily reject everything.

Split:

  • trusted;
  • quarantine.

Possible quarantine dimensions:

  • one locale;
  • one old project;
  • one vendor;
  • one date range;
  • one domain.

Then audit separately.

Step 31: inspect multi-domain TMX files

A vendor export may contain legal, marketing, technical, and support content.

Mixing them into one high-priority TM can reduce match relevance.

Use metadata to split by domain if practical. Or import into a lower-priority general TM.

Step 32: test glossary-critical terms

Pick 20 approved terms.

Search TM targets.

If the TM repeatedly uses forbidden legacy terminology, decide whether to clean before import, apply a penalty, quarantine, or reject.

Terminology drift is one of the most common forms of historical TM debt.

Step 33: test number integrity

Sample units containing dates, percentages, measurements, prices, and version numbers.

Legacy TM errors can be fluent and numerically wrong. A memory is reusable history. It is not guaranteed truth.

Number verification is especially important when the TM will feed automated pre-translation.

Step 34: test short ambiguous strings

Search:

  • Open
  • Close
  • Save
  • Current
  • Charge
  • Home

If the TM contains many targets without context metadata, these may produce dangerous exact matches.

A lower priority, context requirement, or dedicated UI TM can reduce risk.

Step 35: test same-source multiple-target behavior

A TM may store:

Source:

Save

Targets:

  • A
  • B
  • C

If the destination surfaces all three without useful context, translators face decision noise.

Clean or enrich metadata.

A translation memory should reduce decisions, not multiply them.

Step 36: distinguish duplicates from variants

Suppose the TMX contains the same source and two target strings that differ only in punctuation.

Possible explanations:

  • legitimate UI versus prose convention;
  • historical style change;
  • accidental variation;
  • different product context.

Do not call both “duplicates” merely because the source matches.

A duplicate is a data relationship. A variant is a linguistic relationship. You need both views.

Step 37: test domain fit

A perfect translation in the wrong domain can still be a bad match.

Source:

port

Target in logistics TM: harbor-related term.

Current software project: network port.

The language pair is correct. The TMX can be structurally perfect. Domain mismatch still creates bad reuse.

Import destination and priority should reflect domain fit.

Step 38: test product-version fit

A TMX from Product 4 may contain obsolete names that Product 7 no longer uses.

Check:

  • product names;
  • menu labels;
  • legal names;
  • feature terminology.

If the memory is still useful, preserve it with:

  • lower priority;
  • version field;
  • term penalties.

Do not erase history merely because the product evolved.

Step 39: inspect approval provenance

Was the TMX built from:

  • translator-confirmed segments;
  • reviewer-approved segments;
  • MT output;
  • bilingual imports;
  • unknown sources?

This matters.

Two TMX files with identical structure can deserve very different trust.

Ask the sender for provenance when possible.

Step 40: do not infer “human” from fluent language

Modern MT and LLM output can be extremely fluent.

A TMX that reads naturally may still contain unreviewed machine output.

Use:

  • metadata;
  • project records;
  • provider documentation;
  • sample LQA.

Fluency is not provenance.

Step 41: create a sampling plan by risk

Do not sample 100 random sentences and assume the TM is safe.

Include:

  • safety content;
  • legal content;
  • product terminology;
  • numbers;
  • short UI strings;
  • long technical sentences;
  • old segments;
  • newest segments.

A risk-stratified sample reveals more than pure randomness when the goal is operational reuse.

Step 42: calculate a wrong-language rate

For a sample of 1,000 target variants, count how many are clearly in the wrong language.

Example:

  • 1,000 sampled;
  • 7 wrong-language.

That is 0.7%.

Is 0.7% acceptable?

For a master TM feeding automatic confirmation, probably not.

For a low-priority research TM, maybe manageable.

The acceptable rate depends on authority.

Step 43: calculate a terminology violation rate

Sample units containing known controlled terms.

Count:

  • approved;
  • outdated;
  • forbidden;
  • ambiguous.

If 30% of product terms are stale, the TM may need cleanup before high-priority use.

Step 44: compare edit burden

Pilot translators can use the sandbox TM for a small job.

Track:

  • how often matches are accepted;
  • how often they need edits;
  • how often they mislead.

A TM with many high matches but heavy correction can be less useful than a smaller precise TM.

Import value should be measured by work saved, not units stored.

Step 45: decide whether to split the TMX

One large TMX may be easier to move.

Several smaller TMs may be better operationally.

Possible split dimensions:

  • client;
  • product;
  • domain;
  • year;
  • approval state;
  • locale.

Split only when it improves retrieval or governance.

Too many tiny TMs create management overhead.

Step 46: map metadata into the destination schema

Source TMX property:

x-client=Acme

Destination field:

Client

Source:

x-domain=Legal

Destination:

Domain

If field names differ, define a mapping.

Do not let important provenance disappear merely because one system used a different property name.

Step 47: document lost metadata

Some fields cannot be preserved.

Write it down.

Example:

  • previous/next context lost;
  • creator mapped to blank;
  • custom project path not supported.

Then set TM priority accordingly.

A known limitation is manageable.

An unknown limitation creates false confidence.

Step 48: test inline tag normalization across tools

A source system may use one tag representation.

The destination may normalize it.

A normalized tag is not necessarily a defect.

The real test is:

  • can the match be inserted cleanly?
  • can the target export?
  • does formatting survive?

Evaluate function, not XML appearance alone.

Step 49: use import warnings as data

Do not dismiss a warning merely because 99% of the file imported.

Warnings can reveal:

  • invalid unit;
  • unsupported locale;
  • malformed tag;
  • empty segment.

Count them.

If there are five warnings in 100,000 units, inspect all five.

If there are 20,000, stop and investigate the producer.

Step 50: feed exporter defects upstream

If every TMX from Vendor A contains malformed tag IDs, do not build a permanent cleanup ritual.

Tell Vendor A.

If the source TMS exports generic language codes that damage locale mapping, change the export configuration if possible.

Validation should eliminate recurring defects at source.

A trust ladder for imported TMX data

Level 1: quarantine

Unknown provenance. Search manually only.

Level 2: low-priority read-only

Useful historical content, but requires judgment.

Level 3: working TM

Trusted enough for normal translator reuse.

Level 4: client-authoritative

Reviewed, domain-correct, current.

Level 5: master promotion

Governed and suitable for future high-confidence reuse.

A TMX import does not have to jump from zero to Level 5.

Failure mode 1: import directly into master TM

Result: bad entries become authoritative immediately.

Repair: sandbox first.

Failure mode 2: trust the header only

Result: wrong locale variants remain hidden inside TUVs.

Repair: language inventory.

Failure mode 3: generic EN mapped to every English locale

Result: regional contamination.

Repair: strict locale policy.

Failure mode 4: remove tags blindly

Result: useful structure lost.

Repair: sample tag behavior.

Failure mode 5: deduplicate by source only

Result: legitimate target variants erased.

Repair: context-aware deduplication.

Failure mode 6: ignore metadata loss

Result: old and low-trust entries look equal to current approved entries.

Repair: preserve or compensate with priority.

Failure mode 7: count import success as quality proof

Result: linguistic contamination survives.

Repair: functional search sample.

Failure mode 8: source-target direction reversed

Result: search and pretranslation fail.

Repair: known-sentence test.

Failure mode 9: wrong-language target contamination

Result: future matches inject another language.

Repair: