
XLIFF 2.0 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 |
| API Type | xliff_two |
| 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 xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en" trgLang="fr">
<file id="f1">
<notes>
<note id="n1">Note for file</note>
</notes>
<unit id="u1">
<notes>
<note id="n1">Note for unit</note>
</notes>
<segment id="s1" state="initial">
<source>text</source>
<target></target>
</segment>
</unit>
<unit id="u2">
<notes>
<note id="n2">Note for unit 2</note>
</notes>
<segment id="s2" state="translated">
<source>text 2</source>
<target>translation 2</target>
</segment>
</unit>
<unit id="u3">
<notes>
<note id="n3">Note for unit 3</note>
</notes>
<segment id="s3" state="final">
<source>text 3</source>
<target>approved translation 3</target>
</segment>
</unit>
</file>
</xliff>
Attributes
Translation state of the string: initial, translated, final.
initial – the segment needs translation.
translated – the segment was translated.
final – the segment was translated and approved.
<segment id="s1" state="initial">
<source>text</source>
<target></target>
</segment>
<segment id="s1" state="translated">
<source>text 2</source>
<target>translation 2</target>
</segment>
<segment id="s1" state="final">
<source>text 3</source>
<target>approved translation 3</target>
</segment>
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 subState attribute that indicates the auto-translation source. Such strings are exported with state="translated".
crowdin:leveraged-tm – auto-translated via Translation Memory.
crowdin:leveraged-mt – auto-translated via Machine Translation.
crowdin:leveraged-ai – auto-translated via AI.
<segment id="s1" state="translated" subState="crowdin:leveraged-ai">
<source>text</source>
<target>translation</target>
</segment>
Comments
<unit id="u1">
<notes>
<note id="n1">type your comment here</note>
</notes>
<segment id="s1" state="translated">
<source>String for translation</source>
<target>Translation</target>
</segment>
</unit>
Plurals
<group id="90290" type="x-gettext:plurals">
<unit id="90291" name="90290[0]">
<notes>
<note category="context">Context: ApplicationPreferencesActivity_messages_per_conversation [one] [other]</note>
</notes>
<segment>
<source>%1s month</source>
<target xml:lang="pl">%1s miesiąc</target>
</segment>
</unit>
<unit id="90292" name="90290[1]">
<segment>
<source>%1s months</source>
<target xml:lang="pl">%1s miesiące</target>
</segment>
</unit>
<unit id="90293" name="90290[2]">
<segment>
<source>%1s months</source>
<target xml:lang="pl">%1s miesięcy</target>
</segment>
</unit>
<unit id="90294" name="90290[3]">
<segment>
<source>%1s months</source>
<target xml:lang="pl">%1s miesiąca</target>
</segment>
</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:xliff2.0


