Intro to Internationalization and Localization Localization World Conference 2010, Seattle Angelika Zerfass Adam Asnes
Internationalization: Your Company, Code and Building it for the World Adam Asnes
Internationalization Challenge Adapt software to display and manage worldwide character set requirements and cultural formats –Compare data processing US English, German, Chinese, Japanese, Hebrew
Internationalization and Localization Fit Internationalization –Development oriented consulting and products –Adapt products so they can be localizable for any market Localization –Tailored translation specific to market needs –Coordinated management of strings for translation –Linguistic Testing and more
Globalization Implications Global initiatives –Expanding opportunities, New customers Competitive pressure Lost time to market Iterative code fixing, problems keep slipping through Development costs in the hundreds of thousands to millions of dollars
Is It Internationalized? Developers often underestimate i18n requirements Most don’t know the answer Agile or other feature and release requirements often overrun less formally measured i18n requirements There is a Management Value in being able to confirm global readiness
Internationalization Challenge Software Data Path - it’s not just the display DisplayInput Transform Store RetrieveTransform
I18n Architectural Challenge Database Character encoding support Application Code e.g. Java, C++, VB 3 rd Party Products U/I e.g. JSP, ASP, ASPX Business Logic Platforms, Browser Support Requirements Marketing Requirements Locale behavior
I18n trouble spots – developer’s challenge Embedded Text & images Character set support String Concatenation Date/time formatting Sorting & searching Currency Transaction process User Locale Handling Telephone formats Postal formats Region-specific functions Shipping conditions Numerical formats Page layout Reporting, workflow Database enabling Multi-byte enabling
Practical Challenges Sift through hundreds of thousands or millions of lines of code Managing fixing complex problems among teams of developers and outsourced resources Creating a product that looks, feels and behaves natively to its worldwide users Source code must be adapted to seamlessly adapt to any language, streamlining support and updates
Traditional Approach - repeat, and repeat, and repeat, and repeat Localize and see what you’re missing GREP, overwhelm developers View pages. Pour through code for strings, methods, etc. Externalize and refactor one by one Test, Pseudo-Localize
Globalyzer Server and Clients Server Client Command Line
Sample Internationalization Issues
Example: Hard-Coded English Text 1 million lines of source code Typically Found: At least 40,000 Embedded Strings which cannot be efficiently translated String orderStatus = “Your order has been processed. A confirmation will be sent to you shortly.”;
Example: US-Centric Date Formatting Typically Found: Over 10,000 Locale-Sensitive Formatting Calls sStartTime = Format(rsData("StartTime"), "mm/dd/yyyy")
“Double-Byte” Character Encoding: The Binary Capital Letter A “UTF-16 Unicode Double-byte encoding for all Languages ISO-Latin1 (and even UTF-8) Single-byte encoding for Western European Languages
Example: Encoding Corruption Attempted to add a Chinese Unit Name via an example ASP page
Example: Correct Encoding Successfully added Chinese Subject, Location & Notes text
Not Just for Older Applications Issues for every programming langauge Most newer programming languages are simpler to internationalize –That’s good for business actually –More predictable processes, costs and results
I18n Needs: Stakeholders Our Software must be in Japanese, French, German, Chinese, and Spanish by November Multi-tiered application? String extraction? Database components? Unicode? Testing Plan?
Localization a downstream concern “Somebody else’s problem” in the world of many developers Creates an opportunity to educate and shepherd through globalization
Release Planning Agile Sequencing with testing You never stop internationalizing Maintain your business drivers - REVENUE
Internationalization Adding a way to attach things to a mobile phone so that it is more attractive for users in Asia Adding the possibility to set the steering wheel on the right-hand side Easily switch the cover of a fridge door – a pink cover would sell more fridges in Asia than a white cover
Internationalization Documentation
Internationalization of Documentation One style does not fit all Text and graphics / paper size Provide whitespace for text expansion during localization Marketing material cannot be translated but usually has to be re- created in the target language to be effective Renault Slogan –Germany: Creáteur d'Automobiles –UK: Cars for you
GermanyJapan
Text and Graphic When text is separated by a graphic, the translator cannot use a translation memory system effectively.
28 Text Expansion Expansion rate per language Source text pages should leave enough space for translation
Multilingual Workflow Management 29 English Font size 10 Chinese Font Size 10.5 Text decreases German Font size 10 Text expands
Tools and Technologies in Localization
Tools and Technologies Control of terminology in authoring process –Up to controlled language for use with machine translation Translation Tools –Translation Memory System –Terminology Database (term check in authoring and translation environment) Interfaces to project management systems Interfaces to content management systems Use of standard formats (TMX, XLIFF…)
Tools Most solutions focus on one specific area of the process –Select tools that already have an interface with each other –Create your own interfaces (if API is available) Content creation and localization belong together and should be seen as inter-dependent, not isolated processes
Technologies Standard formats for –exchange of translation memory data (TMX – Translation Memory Exchange format) –exchange of terminology data (TBX – Termbase Exchange format) –file format-independent localization format (XLIFF – XML Localization Interchange File Format) They don't solve all problems, but the most pressing ones
Managing Localization
The Traditional Process Translating Content Repository Leveraging Effort assessment Reviewing Updating Linguistics assets Linguistics assets: TMs Terms Glossaries Preparing Packaging and delivery Content providers Content providers
Project Phases Kick off meeting –Touch on a all aspects of project, size, timeline, number of languages etc. Analysis of source material –Outline potential L10n/I18n issues with source code, documentation… Scheduling and budgeting –Based on size, timeline, number of languages etc. schedule resources, quotes, Terminology setup –Create glossary leveraging existing glossaries, adding additional terminology Preparation of Source Material Translation of Software / Documentation –Translation, editing and proof-reading (TEP) of software Testing the Software –Testing of software for functional, linguistic and cosmetic defects Screen Captures / DTP
Communicate –The Project Manager is the central point for all communication client PM client market centers product developers / product designers authors Translators / proofreaders / reviewers / editors testers Designers / DTP –Timely communication on process, problems and suggestions for solutions can greatly impact the success of a project
Questions and Answers Adam Asnes Resources Whitepapers, newsletter & articles Latest updates Angelika Zerfass Resources Presentation downloads in English and German