XLIFF

XLIFF (XML Localization Interchange File Format) is an XML-based bitext format created to standardize the way localizable data are passed between and among tools during a localization process and a common format for CAT tool exchange. XLIFF TC was first convened at OASIS in December 2001 (first met in January 2002), but the first fully ratified version of XLIFF appeared as XLIFF Version 1.2 in February 2008. Its current specification is v2.1 released on 2018-02-13, which is backwards compatible with v2.0 released on 2014-08-05.
The specification is aimed at the localization industry. It specifies elements and attributes to store content extracted from various original file formats and its corresponding translation. The goal was to abstract the localization skills from the engineering skills related to specific formats such as HTML.
XLIFF is part of the Open Architecture for XML Authoring and Localization (OAXAL) reference architecture.
XLIFF 2.0 and higher (the current OASIS ratified format).
The XLIFF Technical Committee is currently preparing to start working on XLIFF Version 2.2.
Prior to making of the major new version 2.0, much feedback had been gathered from XLIFF's user community which was successfully synthesized and implemented into the next generation version of the standard. Two of the primary methods used included compiling a list of extensions used by XLIFF toolmakers, and compiling a list of XLIFF features supported in each XLIFF tool.
On February 13, 2018 XLIFF 2.1 specification became an OASIS Standard
In November, 2017 XLIFF 2.0 specification was approved as ISO 21720:2017
On August 6, 2014 the XLIFF 2.0 specification became an OASIS Standard
On May 6, 2014, the XLIFF 2.0 specification was moved to Candidate OASIS Standard.
Example of an XLIFF 2.0 document:
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0"
 srcLang="en-US" trgLang="ja-JP">
 <file id="f1" original="Graphic Example.psd">
 <skeleton href="Graphic Example.psd.skl"/>
 <unit id="1">
 <segment>
 <source>Quetzal</source>
 <target>Quetzal</target>
 </segment>
 </unit>
 <unit id="2">
 <segment>
 <source>An application to manipulate and process XLIFF documents</source>
 <target>XLIFF 文書を編集、または処理 するアプリケーションです。</target>
 </segment>
 </unit>
 <unit id="3">
 <segment>
 <source>XLIFF Data Manager</source>
 <target>XLIFF データ・マネージャ</target>
 </segment>
 </unit>
 </file>
</xliff>
XLIFF 1.2 - legacy format.
An XLIFF 1.2 document is composed of one or more codice_1 elements. Each codice_1 element corresponds to an original file or source (e.g. database table). A codice_1 contains the source of the localizable data and, once translated, the corresponding localized data for one, and only one, locale.
Localizable data are stored in codice_4 elements. The codice_4 element holds a codice_6 element to store the source text, and a codice_7 element to store the latest translated text. The codice_7 elements are not mandatory.
<trans-unit id="1">
 <source xml:lang="en">Cannot find the file.</source>
 <target xml:lang="fr">Fichier non trouvé.</target>
</trans-unit>
The example below shows an XLIFF document storing text extracted from a Photoshop file (PSD file) and its translation in Japanese:
<xliff version="1.2">
 <file original="Graphic Example.psd"
 source-language="en-US" target-language="ja-JP"
 tool="Rainbow" datatype="photoshop">
 <header>
 <skl>
 <external-file uid="3BB236513BB24732" href="Graphic Example.psd.skl"/>
 </skl>
 <phase-group>
 <phase phase-name="extract" process-name="extraction"
 tool="Rainbow" date="20010926T152258Z"
 company-name="NeverLand Inc." job-id="123"
 contact-name="Peter Pan" contact-email="ppan@example.com">
 <note>Make sure to use the glossary I sent you yesterday.
 Thanks.</note>
 </phase>
 </phase-group>
 </header>
 <body>
 <trans-unit id="1" maxbytes="14">
 <source xml:lang="en-US">Quetzal</source>
 <target xml:lang="ja-JP">Quetzal</target>
 </trans-unit>
 <trans-unit id="3" maxbytes="114">
 <source xml:lang="en-US">An application to manipulate and 
 process XLIFF documents</source>
 <target xml:lang="ja-JP">XLIFF 文書を編集、または処理
 するアプリケーションです。</target>
 </trans-unit>
 <trans-unit id="4" maxbytes="36">
 <source xml:lang="en-US">XLIFF Data Manager</source>
 <target xml:lang="ja-JP">XLIFF データ・マネージャ</target>
 </trans-unit>
 </body>
 </file>
</xliff>