Skip to main content
AI agent network visualization

Translate XLIFF Files Without Corrupting XML

Source-target pairs aligned. Translator notes preserved. XML structure intact. Your XLIFF files translated correctly across both 1.2 and 2.0 formats.

XLIFF Translation Is an XML Minefield

XLIFF is the industry standard for translation interchange, but its XML structure makes it fragile. Generic tools break the XML, lose source-target pairing, strip translator notes, and choke on the differences between XLIFF 1.2 and 2.0. One malformed tag and your entire CAT tool import fails.

XML structure gets corrupted — unclosed tags, broken entities, and invalid characters that fail validation

Source and target segments become misaligned, making it impossible to review translations in CAT tools

Translator notes, context hints, and metadata elements are stripped or moved, losing critical context

XLIFF 1.2 and 2.0 use different schemas — tools that handle one version often break the other

Source (English)
messages.en.xlf
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" target-language="de" datatype="plaintext"
        original="messages">
    <header>
      <note>Application UI strings</note>
    </header>
    <body>
      <trans-unit id="welcome.title" approved="yes">
        <source>Welcome to our platform</source>
        <target>Willkommen auf unserer Plattform</target>
        <note from="developer">Shown on the landing page</note>
      </trans-unit>
      <trans-unit id="nav.dashboard">
        <source>Dashboard</source>
        <target state="needs-review">Dashboard</target>
      </trans-unit>
      <trans-unit id="user.greeting">
        <source>Hello, %1$s!</source>
        <target>Hallo, %1$s!</target>
        <note from="developer">%1$s = user's first name</note>
      </trans-unit>
      <trans-unit id="items.count">
        <source>You have %d items</source>
        <target>Sie haben %d Artikel</target>
      </trans-unit>
    </body>
  </file>
</xliff>
Translated (German)
messages.de.xlf
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" target-language="de" datatype="plaintext"
        original="messages">
    <header>
      <note>Application UI strings</note>
    </header>
    <body>
      <trans-unit id="welcome.title" approved="yes">
        <source>Welcome to our platform</source>
        <target state="translated">Willkommen auf unserer Plattform</target>
        <note from="developer">Shown on the landing page</note>
      </trans-unit>
      <trans-unit id="nav.dashboard">
        <source>Dashboard</source>
        <target state="translated">Dashboard</target>
      </trans-unit>
      <trans-unit id="user.greeting">
        <source>Hello, %1$s!</source>
        <target state="translated">Hallo, %1$s!</target>
        <note from="developer">%1$s = user's first name</note>
      </trans-unit>
      <trans-unit id="items.count">
        <source>You have %d items</source>
        <target state="translated">Sie haben %d Artikel</target>
      </trans-unit>
    </body>
  </file>
</xliff>

What i18n Agent Preserves

XML Structure

Valid XML output with correct namespaces, entities, and encoding — passes XLIFF schema validation

Source-Target Pairing

Source and target segments stay paired correctly. Translation units maintain their IDs and ordering.

Notes & Metadata

Translator notes, context groups, and custom metadata elements are preserved in their original positions

Version Support

Both XLIFF 1.2 (trans-unit) and XLIFF 2.0 (unit/segment) schemas are detected and handled correctly

Works With Your Localization Stack

Angular i18n (native XLIFF)
iOS / Xcode Localization
CAT Tools (SDL Trados, memoQ)
memoQ / Memsource

How It Works

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

No manual copy-paste. No string extraction. Just translated files.

Try i18n Agent Now

Drop your translation file here

JSON, YAML, PO, XML, CSV, Markdown, Properties

or click to browse

Target languages

No signup requiredInstant estimate

Frequently Asked Questions

Developer?

Install the MCP server and translate your first file in 2 minutes.

Install MCP Server

Enterprise team?

Still stuck on a TMS contract? Let's talk about migrating.