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. The XLIFF Technical Committee (TC) first convened at OASIS in December 2001 (first meeting 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, feedback was gathered from XLIFF's user community which was integrated into the following 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 by each XLIFF tool.

 Makers of XLIFF tools have taken advantage of XLIFF's extensibility mechanism in order to implement a number of features. By collecting a list of these extension points and analyzing them for common tasks, the XLIFF TC hopes to improve the XLIFF 2.0 Specification to include mechanisms that will enable the toolmakers to support these features without using extensibility.
 Makers of XLIFF tools have supported different sets of features in the XLIFF 1.2 Specification. By compiling a list of these features, the XLIFF TC hopes to identify areas where the XLIFF 2.0 Specification can be improved to enable toolmakers to more widely support the specification.

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 <file> elements. Each <file> element corresponds to an original file or source (e.g. database table). A <file> contains the source of the localizable data and, once translated, the corresponding localized data for one, and only one, locale.

Localizable data is stored in <trans-unit> elements. The <trans-unit> element holds a <source> element to store the source text, and a <target> element to store the latest translated text. The <target> 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 to 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>

See also
 Internationalization Tag Set (ITS)
 OpenTMS (Open Source Translation Management System)
 Segmentation Rules eXchange (SRX)
 TermBase eXchange (TBX): an XML format for the exchange of terminology data, “an industry standard for terminology exchange”
 Translation Memory eXchange (TMX)

References

External links
 OASIS XLIFF TC Charter 
 OASIS XLIFF Technical Committee Web site
 XLIFF mailing lists: TC List, Comments to TC List, Users List
 XML in localisation: Use XLIFF to translate documents 
 Multilingual App Toolkit (MAT) from Microsoft
 OpenXLIFF Filters A free open source set of Java filters for creating, merging and validating XLIFF 1.2, 2.0 and 2.1 files.
 XLIFF File viewer

XML-based standards
Computer file formats
Internationalization and localization