
XLIFF 1.2 is a natively supported file format, you can use it without an additional installation. Just upload it to your projects and start the localization.
| Attribute | Value |
|---|---|
| File Extension | .xliff, .xlf |
| API Type | xliff |
| Source can be edited in Crowdin | Yes |
| Generating translated files via Bundles | Search Crowdin Store |
| Supports pluralization | Yes |
| WYSIWYG Preview in the editor | No |
| Supported types of contextual information | Text comments, Screenshots, In-Context |
| Custom attributes | Yes |
| Existing translations import possibility | Key-value mapping |
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file id="19704" original="/Example (AndroidXML).xml" source-language="en" target-language="en-US" datatype="plaintext">
<body>
<trans-unit id="874396" maxwidth="20" size-unit="char">
<source>text</source>
<target state="translated">translation</target>
<note>Context</note>
</trans-unit>
<trans-unit id="874397" approved="yes">
<source>text 1</source>
<target>translation 1</target>
<note>Context 1</note>
</trans-unit>
<trans-unit id="874398">
<source>text 2</source>
<target state="needs-translation"></target>
<context context-type="context">Context of the segment 2</context>
</trans-unit>
<trans-unit id="874399" translate="no">
<source>text 3</source>
<target state="final">translation 3</target>
<note>Context 3</note>
</trans-unit>
</body>
</file>
</xliff>
Attributes
Translation state of the string: needs-translation, needs-review-translation, translated, final.
needs-translation – the segment needs translation.
needs-review-translation – the segment was auto-translated and needs review.
translated – the segment was translated.
final – the segment was translated and approved.
<source>text</source>
<target state="needs-translation"></target>
<source>text 2</source>
<target state="needs-review-translation">translation 2</target>
<source>text 3</source>
<target state="translated">translation 3</target>
<source>text 4</source>
<target state="final">approved translation 4</target>
Note: It is also possible to use approved="yes" attribute, it is equal to <target state="final">
<trans-unit id="874397" approved="yes">
<source>text 1</source>
<target>translation 1</target>
</trans-unit>
Max. Length for the translated string:
<trans-unit id="1" maxwidth="20" size-unit="char">
Import as a hidden string:
<trans-unit id="1" translate="no">
<source>Hi</source>
<target></target>
</trans-unit>
Auto-translation Source
When Crowdin exports translations, strings auto-translated via Translation Memory, Machine Translation, or AI that haven't been reviewed yet include a state-qualifier attribute that indicates the auto-translation source. Such strings are exported with state="needs-review-translation".
leveraged-tm – auto-translated via Translation Memory.
leveraged-mt – auto-translated via Machine Translation.
x-leveraged-ai – auto-translated via AI.
<trans-unit id="1">
<source>text</source>
<target state="needs-review-translation" state-qualifier="x-leveraged-ai">translation</target>
</trans-unit>
Custom Attributes
Source text will be taken from the node: x-crowdin-source-element="target"
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" x-crowdin-source-element="target">
<file id="19704" original="/Example (AndroidXML).xml" source-language="en" datatype="plaintext">
<body>
Comments
<trans-unit id="874399">
<source>String for translation</source>
<target>translation</target>
<note>type your comment here</note>
</trans-unit>
<trans-unit id="874398">
<source>text to translate</source>
<target></target>
<context context-type="context">type your comment here</context>
</trans-unit>
Plurals
<group restype="x-gettext-plurals">
<note>Context: ApplicationPreferencesActivity_messages_per_conversation [one] [other]</note>
<trans-unit id="14343743[0]">
<source>%1s month</source>
<target xml:lang="pl" state="translated">%1s miesiąc</target>
</trans-unit>
<trans-unit id="14343743[1]">
<source>%1s months</source>
<target xml:lang="pl" state="translated">%1s miesiące</target>
</trans-unit>
<trans-unit id="14343743[2]">
<source>%1s months</source>
<target xml:lang="pl" state="translated">%1s miesięcy</target>
</trans-unit>
<trans-unit id="14343743[3]">
<source>%1s months</source>
<target xml:lang="pl" state="translated">%1s miesiąca</target>
</trans-unit>
</group>
Crowdin is a platform that helps you manage and translate content into different languages. Integrate Crowdin with your repo, CMS, or other systems. Source content is always up to date for your translators, and translated content is returned automatically.
Learn More- —Crowdin Enterprise
- —crowdin.com
Released on May 16, 2022
Updated on Jul 17, 2026
Published by Crowdin
Identifier:xliff


