Implementing the XLIFF Format Dell Inc. and Adams Globalization Michael MacGregor – Dell Inc. Vivek Anand – Adams Globalization LISA Summit June, 2006
2 Agenda Setting the Stage: Dell’s Partnership with Adams Globalization Identifying Software Development Challenges: – Simultaneous Release of English and Localized Products – Multiple File Formats for Localization Addressing Challenges: – Standardizing Deliverables and Processes – Criteria for Selecting a Standard Implementing XLIFF as a Standard – Managing “Sim-ship” Issues with “Boneless” XLIFF – Increasing Efficiency through Parallel Localization Processes XLIFF in Action: Translation and Issue Resolution Additional Benefits of XLIFF Adoption Summary Q&A
3 Background and Introduction Dell Inc. partners with Adams Globalization to deliver localized solutions to the global market Multi-Regional Software Development Localization (L10n) Technologies Global Product Testing Custom L10n Solutions
4 SW Localization Challenges Classic Development Cycle Development: L10n impact to product functionality Ensure Internationalization readiness Integrate translations into builds Deploy product to global market Translation: Provide translations Ensure file integrity Resolve content issues reported by test Product Testing: Confirm L10n functionality Validate translations Report issues found during test Submit Strings for Translation Submit Strings for Translation Integrate Translated Strings Integrate Translated Strings Test Translations Test Translations Report Issues Report Issues Integrate Adjusted Strings Integrate Adjusted Strings Regress Issues Regress Issues Deploy Product Deploy Product Translate Strings Translate Strings Adjust Translations Adjust Translations DeploymentIntegration and TestingImplementation Development Translation Product Testing
5 SW Localization Challenges Simultaneous Release Delayed Release: Localized version is released some time after completion of English version of application Simultaneous Release: Localized code ships simultaneously with English version English Development English Release Localization Development Localized Release English Development Global Release Localization Development Single release to all regions – one media kit Faster time to market Presents a “moving target” – English can change during translations
6 Software Component A Software Component C Software Component B Software Component D Software Component E Software Component F XML Style Sheet UTF -8 Multi-Lang XML UTF -8 Properties File UTF -16LE Windows RC ANSI Custom A ANSI SW Development Challenges Multiple Development Environments XML File UTF -8 Java Properties UTF -8 UCN Esc Windows MSI Unicode C++ Resource UTF -8 Application (Suite) Different technologies are used in each software suite component Some components may utilize several different technologies, often requiring different file formats for string resources Some formats are customized, unique to the product This results in a project that requires multiple file formats to be localized
7 SW Development Challenges Multiple File Formats in Translation XML Style Sheet UTF -8 XML File UTF -8 Multi-Lang XML UTF -8 Java Properties UTF -8 UCN Esc Properties File UTF -16LE Windows MSI Unicode Windows RC ANSI C++ Resource UTF -8 Custom A ANSI AssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQC Translations grouped by file type String segments unique for type Separate efforts in preparation, pre- translation, and QC Each application has its own validation specifications Difficult to automate More risks to integrating translations Multiple formats result in very low leveraging across different file formats Deliver
8 SW Development Challenges Multiple File Formats in Issue Resolution Search through multiple files Multiple instances across file types difficult to manage Same validation issues as translation Adjust QC Deliver DFCT XML Style Sheet UTF -8 XML File UTF -8 Multi-Lang XML UTF -8 Java Properties UTF -8 UCN Esc Properties File UTF -16LE Windows MSI Unicode Windows RC ANSI C++ Resource UTF -8 Custom A ANSI Search Similar challenges are presented when resolving translation issues reported during test
9 Standardization Localization Deliverables & Processes XSL Translation Memory XML Style Sheet UTF -8 XML File UTF -8 Multi-Lang XML UTF -8 Java Properties UTF -8 UCN Esc Properties File UTF -16LE Windows MSI Unicode Windows RC ANSI C++ Resource UTF -8 Custom A ANSI Translation Memory AdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQC Standardized File Format Common Translation Memory Format Single ProcessAutomated QC Standardization With standardization, only one file format is used Achieves common translation memory format, which increases leveragability across components, and consistency of translations Single process stream for all localization activities with automated QC
10 Standardization Selecting A Standard Criteria for selecting a standard Cannot be a custom file format, must be an industry standard Unicode (UTF-8) Easy to adopt by Development and by Translation Facilitates content management Protects terms not to be translated Easy to validate with automation Extensible
11 Standardization Selecting A Standard - XLIFF XML-based format Extensible Namespaces Project related data Neatly packaged units for translations Clearly defined segments Enables “locked” trans units Enables “locked” text segments Comments available for translators OASIS XML Localization Interchange File Format (XLIFF)
12 Implementing XLIFF Outbound Translations Separate translatable strings from other text Copy or convert data into XML Protect non-translatable terms Build XML file English Resource File Translate English XLIFF File Parse & Extract Convert
13 Implementing XLIFF Inbound Translations Retrieve translations from XLIFF file Build localized resource file (using latest English version) No “Skeleton” (SKL) file English Resource File Translate Translated XLIFF File RebuildIntegrate Localized Resource File
14 Development continues Implementing XLIFF Using SKL File English Resource File Translate English XLIFF File Parse & Extract English Resource File (Updated) Rebuild Localized Resource File Translated XLIFF File Convert SKL File Files do NOT match Application fails to launch Functional failure in application at runtime SKL file holds non- translatable text XLIFF holds translatable text
15 Development continues Implementing XLIFF Boneless - Without SKL File English Resource File Translate English XLIFF File Parse & Extract English Resource File (Updated) Rebuild Localized Resource File Translated XLIFF File Convert SKL File Files Match Some English text may appear Application functions normally No SKL file used XLIFF still holds translatable text
16 Parallel Processing through XLIFF Standardization Serial Processes Standardization facilitates parallel process in localization TRANSLATETEST TRANSLATEADJUST TEST ADJUST TRANSLATETEST ADJUST QUAL Each group must wait for file to become available Issue resolution cannot start until Translation is complete Translation must wait for adjustments to finish Test Team cannot test while edits are in progress Excessive “downtime”, lacks efficiency
17 Parallel Processing through XLIFF Standardization Parallel Processes Standardization facilitates parallel process in localization Resources are broken into subsets for each process team While translation is under way, Issue Resolution can still occur Changes from Translation and/or Issue Resolution are integrated as they arrive Test is able to focus on the latest changes, reducing cycle time Compressed project cycle; more efficient utilization of resources TRANSLATETEST TRANSLATEADJUST TEST ADJUST TRANSLATETEST ADJUST QUAL TRANSLATE TEST TRANSLATE ADJUST TEST ADJUST TRANSLATE TEST ADJUST QUAL
18 Process improvements through XLIFF adoption Drastically reduce pre- translation activities Fewer file integrity issues Less overall down time Increased leveragability Improved product quality Improved efficiency of processes
19 Process improvements through XLIFF adoption Extensible format enables tool-based change tracking and audit capabilities XLIFF implementation changed localization processes without impacting main stream software development processes XLIFF File UTF -8 Convert Content Manager Software Development Stream Localization Development Stream Reporting
20 Process improvements through XLIFF adoption Standardized Format in Translation AssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQCAssessPre-TranslateTranslateQC XML File UTF -8 Java Properties UTF -8 UCN Esc Windows MSI Unicode C++ Resource UTF -8 XML Style Sheet UTF -8 Multi-Lang XML UTF -8 Properties File UTF -16LE Windows RC ANSI Custom A ANSI XLIFF File UTF -8 Convert AssessPre-TranslateTranslateQC Tools convert multiple file types into one common format – enabling standardization without impacting code development processes Processing complexity minimal – need for only one CAT filter Increased leverage of localized content across multiple components QC fully automated for XLIFF files Deliver
21 Process improvements through XLIFF adoption CAT – Without XLIFF Translatable text not easily identifiable Tags are included in word counts Editing tags breaks the file Special terminology not protected
22 Process improvements through XLIFF adoption CAT – With XLIFF Translatable text in target tags All other text cannot be edited Sections within a string can also be blocked
23 Process improvements through XLIFF adoption Standardized Format in Issue Resolution AdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQCAdjustQC XML Style Sheet UTF -8 XML File UTF -8 Multi-Lang XML UTF -8 Java Properties UTF -8 UCN Esc Windows MSI Unicode Windows RC ANSI C++ Resource UTF -8 Custom A ANSI Properties File UTF -16LE AdjustQC Deliver DFCTSearch XLIFF File UTF-8 Single search point for all strings related to a software component Common format reduces risk of file corruption by using one standard XLIFF file format provides associated English string in tag for quick and easy reference Use of tags prevent adjusting of strings currently out for translation, avoiding potential version conflicts
24 Process improvements through XLIFF adoption Issue Resolution with XLIFF String is out for translation Translator cannot modify any part of string Note identifies why the string is blocked English Text is next to translation
25 Additional Benefits through XLIFF adoption Achieved cost savings through reduced overhead and greater leveraging (30% reduction in cost) Revolutionized the level of client-vendor cooperation in bringing high quality localized products to Dell’s Enterprise customers worldwide Seamless interface between Software Development and Translation Simplified process enables greater visibility to issues; easier to root cause and resolve with less “finger pointing” Simplified processes and logistics allow for greater focus on additional process improvements
26 Summary By standardizing localization deliverables, many of the challenges surrounding a large scale effort can be resolved – Reduced overhead for processing files – Increased leveragability for multiple components – Safer file handling for translation and issue resolution – Easier to implement automation No further need for customization for new products or additional languages Standardized process can help foster better communication between client/vendor, improved cost savings for both organizations, and set the stage for future process improvements
27 Q&A
28 References XLIFF is featured in the 19 Sept 2005 edition of XML Journal "What Is XLIFF and Why Should I Use It?" "What Is XLIFF and Why Should I Use It?" XLIFF 1.1 Specification, Committee Specification, 31 Oct 2003 XLIFF 1.1 Specification XLIFF 1.1 Schema, Committee Specification, 31 Oct 2003 XLIFF 1.1 Schema Physical Map of The World, _2003.jpg _2003.jpg
29 OASIS XLIFF Specification What is XLIFF? – OASIS XML Localization Interchange File Format (XLIFF) – XML based format, which provides a common ground for localization development to occur unhindered by custom or proprietary formatting requirements – “The purpose of the OASIS XLIFF TC is to define, through extensible XML vocabularies, and promote the adoption of, a specification for the interchange of [localizable] software and document based objects and related metadata. “ XLIFF standard reduces risk of human error throughout localization development – Provides clearly defined nodes for translatable content – Defined nodes for comments, protected content, concatenation grouping, and other key information that may be useful to translators, but should not be counted as part of the translation word count – Original English text included along side translations, easily referenced – XML format facilitates automated QA
30 Summary by standardizing file formats, many of the challenged we discussed have been resolved – we’ve reduced overhead for file processing – we’ve increased leveragability across all components – single file format means safer handling for translation and issue resolution – and we’ve been able to automate the QC process by choosing xliff, we’ve standardized our processes, with no further need for customization standardized processes have improved our communication, and improved cost savings for both organizations. we’ve also set the stage for future process improvements