Industrial IoT Authors: Elizabeth White, Stackify Blog, Yeshim Deniz, SmartBear Blog, Liz McMillan

Related Topics: Industrial IoT

Industrial IoT: Article

What Is XLIFF and Why Should I Use It?

A brief overview of the XML Localization Interchange File Format (XLIFF)

Solution: XLIFF provides structures to track workflow phases.

Challenge: Lack of standard resource or content container - Developing tools to improve the localization process involves commitments in resources, testing, and deployment. Frequent retooling to keep up with modifications to proprietary resource formats will adversely impact schedules and quality levels of both the localization tool and the localized content. Developing a custom localization tool or acquiring an off-the-shelf tool that is compliant with a standard, localizable resources container such as XLIFF mitigates project risks and reduces potential vendor lock-in. The existing localization standards supported very specific types of localization related data. For example the Localization Industry Standards Association (LISA) OSCAR standards group defined TMX for Translation Memory Exchange, and TBX for Term Base Exchange, but these XML vocabularies aren't used to store resources to be translated. Another de facto standard, Opentag, an XML-based container for localizable content, provided inspiration to the founders of XLIFF, but it failed to provide the hierarchical structure required for describing groups of related resources such as dialog boxes and menus, and lacked project and workflow management metadata.

Solution: XLIFF provides a standard XML-based hierarchical container for localizable data and related metadata that is compatible with existing localization industry standards TMX and TBX.

The XLIFF Technical Committee (TC) succinctly summarizes the approach to addressing these localization challenges in its charter: "The purpose of the OASIS XLIFF TC is to define, through XML vocabularies, an extensible specification for the interchange of localization information. The specification will provide the ability to mark up and capture localizable data and interoperate with different processes or phases without loss of information. The vocabularies will be tool-neutral, support the localization-related aspects of internationalization, and the entire localization process. The vocabularies will support common software and content data formats. The specification will provide an extensibility mechanism to allow the development of tools compatible with an implementer's own proprietary data formats and workflow requirements."

XLIFF Architecture
XLIFF is an XML vocabulary for exchanging localization related data. This standard was designed to take full advantage of XML's technical features, yet fit comfortably into the typical localization process. The architecture of XLIFF is designed so that it can be used in a number of ways:

  • Extract only the localizable content within the original files to XLIFF, leaving untranslatable content in a skeleton file
  • Transform the entire resource file to an XLIFF file
The Extract-Localize-Merge Model
The original files to be localized are read by a filter that extracts localizable data into the XLIFF file, and generates a skeleton file that contains only nonlocalizable data and placeholders for where the localized data will be written. The skeleton file can be either externally referenced or embedded directly into the related XLIFF file. Upon completion of the translation process, XLIFF is merged with the nonlocalization data in the skeleton file to create the localized file.

See Figure 1

XSL Transformation
Today XML is more widely adopted, so XSL can be used to transform an XML file directly into an XLIFF container. This process is illustrated in Figure 2.

In this model, an entire XML document is transformed into XLIFF, translated, and transformed back to its original structure. An open source tool is available for transforming XML into XLIFF and back again, and may be downloaded from https://sourceforge.net/projects/xliffroundtrip/.

Structure of XLIFF
Listing 2 is an example of a simple XLIFF file. This document does not intend to describe in detail all of the components that make up an XLIFF file. For further information on this, refer to the XLIFF specification from OASIS. The current specification is available at www.oasis-open.org/committees/xliff/documents/ cs-xliff-core-1.1-20031031.htm.

XLIFF files are bilingual. There is only one source language and one target language. This makes the overall model much simpler when you consider all of the additional features the format provides, such as pretranslation, version tracking, etc. It also avoids the problem that a multilingual file would have where different versions are localized by different translators at the same time.

File Element
Each file element corresponds to a real or virtual file from the source material. By virtual file, I mean that it could correspond to part of a database. An XLIFF file must contain at least one but can contain any number of file elements. It would be possible for a single XLIFF document to contain all of the resource files for an entire software application, each corresponding to its individual file element. This approach should take into consideration the effect that having many file elements will have on the size of the XLIFF file and management of the project.

The file element has a number of attributes that contain data that describes the actual file to which they relate.

Each file element contains both header and body child elements. The header element contains metadata about the file being localized. The body element contains the data to be localized.

The trans-unit contains the data to be localized. Each trans-unit has a source element that contains the original data to be localized. After translation, the target element contains the data that has been localized. The status of the target can be tracked with the state attribute.

  <source xml:lang="en-US">We are testing XLIFF.</source>
  <target state="translated" xml:lang="fr">Nous testons XLIFF.</target>

The source and target elements can include specific in-line elements for specific purposes. The g element, for example is useful for tagging text mark-up such font face changes or bold or italic.

<source xml:lang='EN-US'>We are testing <g id='b1'

The x element is useful for empty in-line elements, like images.

<source xml:lang='EN-US'>We detected spaceships on the planet <x id='i1'
ctype='image' img:src='enterprize.jpg' /></source>

More Stories By Peter Reynolds

Peter Reynolds is manager of the software development team at the Dublin, Ireland office of Bowne Global Solutions (BGS), the leading provider of localization and translation solution. Peter and his team are responsible for developing some of the software that BGS use to run their business, including Elcano, the online translation service, and myInfoShare, the online project collaboration workspace. Peter has been working on XLIFF since its inception and is a founder member and secretary of the OASIS XLIFF Technical Committee. He also chairs the OASIS Translation Web Services Technical Committee.

More Stories By Tony Jewtushenko

Tony Jewtushenko is the founding and present chair of the XLIFF TC as well as the director of R&D for Product Innovator (www.productinnovator.com), a Dublin, Ireland-based consultancy that provides product management, process improvement, localization, and internationalization services to software companies.
During his 23-year career, Tony was a key contributor to dozens of releases of successful commercial software products, including Lotus 1-2-3 and Notes, Oracle JDeveloper, and iDS. His multinational work and life experience spans USA, Europe, Middle East, and Asia.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

IoT & Smart Cities Stories
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER gives detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPOalso offers sp...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
Headquartered in Plainsboro, NJ, Synametrics Technologies has provided IT professionals and computer systems developers since 1997. Based on the success of their initial product offerings (WinSQL and DeltaCopy), the company continues to create and hone innovative products that help its customers get more from their computer applications, databases and infrastructure. To date, over one million users around the world have chosen Synametrics solutions to help power their accelerated business or per...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.