|Internet media type|
(13 February 2018 )
XLIFF (XML Localization Interchange File Format) is an XML-based format created to standardize the way localizable data are passed between tools during a localization process and a common format for CAT tool exchange. XLIFF was standardized by OASIS in 2002. 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 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.
- 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
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 are 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 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="email@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>
File manipulation and checking tools
- Open XLIFF Filters is an open source set of Java filters for creating, merging, validating and producing word counts for XLIFF 1.2 and 2.0 files.
- XLIFF Manager is an open source graphical user interface for Open XLIFF Filters.
- The Okapi Framework provides multiple filters that generate XLIFF documents and various components that use XLIFF.
- Translate Toolkit converts various file formats to XLIFF and provides checking, filtering and manipulation tools for the format.
- XLIFFChecker (replaced by XLIFF Manager) is an open source cross-platform tool that verifies the validity of XLIFF files against XML grammars and specifications.
- Xliff to HTML Converter converts XLIFF files to HTML to facilitate proofreading.
- XLIFF to Word is a free macOS app that converts XLIFF files to Microsoft Word docx format.
- The Okapi XLIFF Toolkit is an open-source library to create, read, manipulate, validate and write XLIFF 2.0 documents.
- The Okapi Lynx-Web page validates XLIFF 2.0 documents online.
|CafeTran Espresso||Windows, macOS, Linux||Limit on memories and glossaries sizes|
|MateCat||Web||Yes||MateCat supports XLIFF files both as an input and output format. SDLXLIFF files are supported as input files|
|memoQ||Windows||No||Using MQXLIFF for interoperability and supports several flavours of XLIFF|
|Lokalise||Web, Windows, macOS, Linux||Free for open-source projects||Cloud based translation management system (CMS)|
|Memsource||Web, Windows, macOS, Linux||Limit of 2 files||MXLIFF is its native format|
|OmegaT (with Benten)||Windows, macOS, Linux||Yes||Cross-platform and open source CAT tool|
|Poedit||Windows, macOS, Linux||Yes||Open source and commercial editions. Can edit existing XLIFF files since version 2.2.|
|Pootle||Web||Yes||Web-based localisation platform|
|SDL Trados Studio||Windows||No||SDLXLIFF is its native format|
|SmartCAT||Web||Yes||Cloud-based translation environment|
|Swordfish Translation Editor||Windows, macOS, Linux||No||XLIFF-based cross-platform CAT tool|
|Virtaal||Windows, macOS, Linux||Yes||Open source CAT tool|
|Weblate||Web||Yes||Web-based translation tool|
|XTM Cloud||Web||No||XTM supports XLIFF, SDLXLIFF and MQXLIFF source files.|
On November 11, 2015, Microsoft XLIFF 2.0 Object Model is Open Source on GitHub, this is a .NET library that can be used to build localization tools, platforms and systems.
- Internationalization Tag Set (ITS)
- 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)
- OASIS XLIFF 2.1 specifications
- Bert Esselink (2003). The Evolution of Localization (PDF). Guide to Localization. Multilingual Computing and Technology.
Does the popularity of XLIFF signal a trend? Throughout the 1990s, the localization industry tried to turn translators into semi-engineers. Is it now expecting them to just translate again? It certainly looks that way.
- Announcement of XLIFF 2.0 becoming an OASIS Standard
- 60-day Public Review for XLIFF Version 2.0 Candidate OASIS Standard announcement
- Candidate OASIS Standard 01
- OASIS XLIFF 1.2 specification
- Okapi filters
- Okapi components using XLIFF
- Office Open XML
- XLIFF 2.0 Object Model is now Open Source on GitHub, Microsoft Language Portal Blog