No. XLIFF is bilingual by design: one source language, one target language, and exactly one <target> per translation unit. If you need five languages, you export five files.
In XLIFF 1.2 the languages are attributes of the <file> element. source-language is required and target-language is optional, which is how a file with only <source> elements can serve as a translation template. Each <trans-unit> contains one <source> and at most one <target>, so there is nowhere to put a second translation.
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="app.strings" source-language="en" target-language="de" datatype="plaintext">
<body>
<trans-unit id="greeting">
<source>Hello</source>
<target>Hallo</target>
</trans-unit>
</body>
</file>
</xliff>
The 1.2 specification does allow several <file> elements in one document, each with its own target-language, so you could stack a de, an fr and an es file in a single .xlf. Few consumers expect that. Angular maps each locale to its own translation file in angular.json, Symfony reads the locale from the file name (messages.fr.xlf), and Xcode exports one .xcloc catalog per language. A tool that treats the document as a single language pair will put the extra files into the wrong language or reject them. Setting xml:lang on individual <target> elements does not turn the file into a multilingual one either; the language of the targets is defined by target-language on <file>.
XLIFF 2.0 and 2.1 close the door completely. srcLang and trgLang sit on the root <xliff> element, <file> has no language attributes at all, and each <segment> holds one <source> and at most one <target>.
<xliff version="2.0" xmlns="urn:oasis:names:tc:xliff:document:2.0" srcLang="en" trgLang="de">
<file id="f1">
<unit id="greeting">
<segment>
<source>Hello</source>
<target>Hallo</target>
</segment>
</unit>
</file>
</xliff>
What to do instead: export one file per target language from the same source, name it by locale, and keep the id values identical across files so a TMS or a script can line them up. If you want every language in one place for review, convert to a multi-column format such as CSV for that step and keep XLIFF for the exchange with translators.
Published Oct 9, 2026 · Markdown version