SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Internationalization
                            Primer

                                Lingoport, Inc.
                                3980 Broadway
                               Boulder, Colorado
                                  USA 80304
                                +1 303 444 8020
                              www.Lingoport.com
© Lingoport, Inc. May 2007    info@lingoport.com

                                                   Tuesday, June 26, 2007
Internationalization Key Concepts
•   Locale
•   Translation
•   Localization (L10n)
•   Internationalization (i18n)
•   Globalization (G11n)
•   Character Sets/Encodings




                                    +1.303.444.8020
                                    www.Lingoport.com
Locale
• Language + territory [ + variant ]
   – en_US = English (US)
   – en_GB = English (UK)
• Combines language and territorial conventions
  for spelling, formatting, etc.
   – en_US = "color," mm/dd/yyyy, $1,234.56
   – en_GB = "colour," dd/mm/yyyy, £1.234,56
• A more accurate representation than language

                                               +1.303.444.8020
                                               www.Lingoport.com
Translation
• A rendering of the meaning of a text in another language
• Not word-for-word, but a valid representation of the
  intended meaning in the form in which the target
  language communicates such meaning
• Types of translation
   – Gisting: Provides the gist of a text in another language, useful to
     extract the general intent, accomplished with machine translation
   – Professional-quality: Requires a qualified human translator




                                                               +1.303.444.8020
                                                               www.Lingoport.com
Localization (L10n)
• The adaptation of a product for a particular locale
• Common abbreviation is L10n (L + 10 letters + n)
• Includes translation, also application of locale-
  specific behavior (formatting, parsing, etc.)
• Unless built incorporating internationalization, a
  product is inherently localized (specific to a given
  locale)
• A product must be internationalized first

                                               +1.303.444.8020
                                               www.Lingoport.com
Internationalization (i18n)
• The transformation of a product from locale-
  specific to locale-neutral
• The process of engineering a product so it can
  be adapted to target languages and regions
  efficiently and without requiring subsequent
  engineering changes to the core product
• Common abbreviation is i18n (i + 18 letters + n)
• A product must be internationalized before
  localization can occur
                                             +1.303.444.8020
                                             www.Lingoport.com
Globalization
• The process of transforming a locale-specific
  product into one that supports all target locales
• The combination of i18n and L10n




                                              +1.303.444.8020
                                              www.Lingoport.com
Character Sets/Encodings
• Character set
   – A set of characters used to support a given language or series of
     languages
• Character encoding
   – A set of code points that defines numeric values for each
     character within a character set (coded character set)




                                                             +1.303.444.8020
                                                             www.Lingoport.com
8-bit Character Encodings
• Latin-1 encodings
   – ISO-8859-1, Windows-1252 (Cp1252)
   – Western European languages (English, Danish, French,
     German, Italian, Norwegian, Portuguese, Spanish, Swedish,
     etc.)
• Latin-2 encodings
   – ISO-8859-2, Windows-1251
   – Central/Eastern European languages (Czech, Hungarian, Polish,
     Slovak, others)
• ISO-8859-3 - 16
   – Cyrillic, Arabic, Greek, Hebrew, Turkish, Baltic, etc.

                                                              +1.303.444.8020
                                                              www.Lingoport.com
Multibyte Encodings
• Single-byte characters (ASCII, Cyrillic, etc.) +
  double-byte characters (Asian - Kana, Hangul,
  Kanji / Hanzi / Hanja)
• GB-2312 (guobiao=“national standard” in
  Chinese)
  – 7,445 (Simplified Chinese) characters
• Shift-JIS (“Japanese Industrial Standard”)
  – 6,355 Kanji characters


                                               +1.303.444.8020
                                               www.Lingoport.com
Unicode Standard
• 96,447 characters from all of the world’s languages
   – Majority in the 2-byte (65,536 character) range, a.k.a. BMP
     (Basic Multilingual Plane)
• Primary encoding forms: UTF-8, UCS-2, UTF-16
   – UTF-8: variable length encoding (1-4 bytes)
       • Used with XML, HTML, UNIX
       • ASCII = ASCII range in UTF-8
   – UCS-2: 16-bit encoding (2-byte chars)
       • Native encoding on NT-based systems
   – UTF-16: 16-bit encoding plus surrogates (4-byte chars)
       • Supports characters beyond BMP, including less common Asian
         characters, musical and mathematical symbols, esoteric scripts
                                                                 +1.303.444.8020
                                                                 www.Lingoport.com
I18n Process
•   Planning
•   Market Requirements Analysis
•   Architectural Requirements Analysis
•   Code Review
•   I18n Design
•   I18n Implementation
•   Testing
•   And beyond…
    • Localization
    • Support

                                          +1.303.444.8020
                                          www.Lingoport.com
Market Requirements Analysis
• Target locales (languages/regions)
• Target functionality
  – Uniform across locales or locale-specific?
• Customer-driven requirements
• Overseas partner/customer feedback
• Region-specific requirements (legal, etc.)



                                                 +1.303.444.8020
                                                 www.Lingoport.com
Architectural Requirements Analysis



  Database         Application

                                              U/I
                 3rd Party Products

Business Logic

                  Platforms, Browser Support Requirements

                                                    +1.303.444.8020
                                                    www.Lingoport.com
Architectural Considerations
• Component capabilities/functionality
   – Character encoding support
   – Locale tracking
   – Dependencies
      • Fonts
      • Service Packs
      • Libraries
   – Third Party Products
• Component interaction
   – Character encoding conversions
   – Locale notification


                                         +1.303.444.8020
                                         www.Lingoport.com
UI Design Considerations
• UI Layout
   – Support for string length expansion
   – Bidirectional support
   – Asian support (support for character height expansion)
• UI Locale
   – Separate monolingual vs. unified multilingual
   – Locale resolution




                                                              +1.303.444.8020
                                                              www.Lingoport.com
Code Review
• What to Identify
   –   Embedded strings
   –   Unsafe methods/functions
   –   Image references
   –   Unsafe programming constructs (ex: regular expressions)
• How to Identify
   – “Brute force”
        • Engineers search for and resolve known issues
   – Tool-assisted review
        • An I18n code analysis tool is employed to examine source code for
          a large range of potential and known issues
        • Issues can be identified and resolved in a more systematic fashion
        • E.g. Globalyzer (www.Globalyzer.com)
                                                                   +1.303.444.8020
                                                                   www.Lingoport.com
I18n Design: Key Considerations
• Locale implementation
    – How is locale determined, tracked and supported within the application?

• Character encoding support
    – What characters/encodings are required/supported?

• Content externalization, storage and retrieval
    – What methods are used to identify, store and retrieve translatable content?

• UI Layout
    – Does the layout accommodate text expansion, other locale-specific effects?

• Locale-specific formatting
    – Numbers, dates/times, currencies, text direction, addresses, sorting

• Uniform vs. locale-specific content/functionality
    – Where are the divisions between uniform content and functionality and the need
      for locale-specific content and functionality?
                                                                             +1.303.444.8020
                                                                             www.Lingoport.com
I18n Design Considerations Checklist*
•   Locale implementation       •   Encoding conversions
    (determination, tracking)   •   Locale-specific functions
•   Character encodings
                                •   Address formats
•   Strings
                                •   Telephone formats
     – Externalization
     – Concatenation            •   Page layout
     – Display/Layout           •   Fonts and attributes
•   Date/time handling          •   Images, icons, colors
•   Number handling             •   Bidirectional support
•   Currency handling           •   Reporting, workflow
•   Sorting                     •   Database enabling
•   Searching
                                •   Multi-byte enabling

                                                          +1.303.444.8020
                                                          www.Lingoport.com
Locale Implementation
• Locale determination
  – How is the current locale determined?
     • Selection process (one-time vs. global)
     • Detected
     • Preset per user/installation
• Locale tracking
  – How is the locale tracked within the application?
  – How is the locale passed between components?



                                                   +1.303.444.8020
                                                   www.Lingoport.com
One-Time Locale Selection Example:
Global Selection Example:
Locale Detection Example:
Character Encoding
• What character encodings are necessary to support the
  target locales?
• Which encodings are supported by the application
  components?
• Unicode is recommended in most cases, but…
   – Which encoding to choose?
      • UTF-8
          – HTML/XML, UNIX
      • UTF-16
          – Java, Windows
      • UTF-32
          – Need to support characters beyond BMP
   – It may not be supported by certain components
                                                     +1.303.444.8020
                                                     www.Lingoport.com
Strings: Externalization
• Translatable or otherwise locale-specific strings
  that are embedded in the source code must be
  externalized into locale-specific resources
• Resource files
  – Files to contain locale-specific data
  – Common file types:
     •   RC files: Win32
     •   Properties files: Java
     •   Resx files: .NET
     •   PO files: UNIX, PHP
                                              +1.303.444.8020
                                              www.Lingoport.com
Strings: Concatenation
• Concatenation is the piecing-together of text
  fragments to form a complete phrase
  String s = "Step "+x+" of the "+proc+" process";
• Concatenation causes serious translation issues
  because of word order and grammatical
  differences
• Solution: use positional parameters to be
  replaced at runtime, e.g.:
  String s = "Step {0} of the {1} process";



                                              +1.303.444.8020
                                              www.Lingoport.com
Grammatical Difference Example
      In English          In German

                   Der    Masculine Subj.
                   Die    Feminine Subj.
                   Das    Neutral Subj.
       The         Die    Plural
                   Den    Masculine Dir. Obj.
                   Dem    Masculine Ind. Obj.
                   Des    Masculine Gen.
                   etc.

                                       +1.303.444.8020
                                       www.Lingoport.com
Strings: Display/Layout
• Fixed elements must allow for text expansion
  – Single-byte (e.g. Latin, Cyrillic, Hebrew) languages
     • expand horizontally, sometimes more than double the size of
       the English text
  – Double-byte character based (e.g. Japanese,
    Chinese, Korean) languages
     • expand vertically, since the characters are taller than Latin
       characters
  – Dynamic field length approach


                                                              +1.303.444.8020
                                                              www.Lingoport.com
Date/Time Handling
• Date/time parsing
  – What is 01.02.03 ?
     February 1, 2003 in Europe
     January 2, 2003 in US
     February 3, 2001 in Japan
• Date/time formatting
  – Short forms have the potential to be misleading
  – Use long forms to avoid potential misinterpretation
  – ISO form: YYYY-MM-DD hh:mm:ss
     • Good for parsing, acceptable but not ideal for display

                                                                +1.303.444.8020
                                                                www.Lingoport.com
Number Handling
• Number parsing
  – How should the string “123,456” be parsed?
     • In the US, UK, Japan it is equal to the integer value 123456
     • In Europe it is equal to the float value 123456/1000
• Number formatting
  – Same question in reverse
• As numeric separators differ between locales,
  locale-specific functionality must be relied upon
  to parse and format the numbers correctly
                                                            +1.303.444.8020
                                                            www.Lingoport.com
Currency Handling
• Similar issues to number handling, but also…
• Currency formatting
  – Currency symbol/code placement
• Currency conversions?
  – For international monetary transactions




                                              +1.303.444.8020
                                              www.Lingoport.com
Locale-Specific Formatting Examples

Locale           Short Date   Long Date      Number Currency


English, US        05/06/02    May 6, 2002    1,234.56   $1,234.56



English, UK        06/05/02    06 May 2002    1.234,56   £1.234,56



French, France     06/05/02    6 mai 2002     1 234,56   1 234,56 €



Japanese           02/05/06    2002年5月6日      1,234.56   ¥1,234.56




                                                            +1.303.444.8020
                                                            www.Lingoport.com
Sorting/Collation
• Q: Which list order is correct?
      Ångström                   Helsinki
      Helsinki                   Zürich
      Österreich                 Ångström
      Zürich                     Österreich
     Most Locales               Skandinavian Languages

     A: Depends on locale, this is just one example
                                                         +1.303.444.8020
                                                         www.Lingoport.com
Searching
• What functionality?
   – Text
       •   Match all word forms: e.g. “city” vs. “cities”
       •   Fuzzy matching: e.g. “security issues” vs. “security-related issues”
       •   Synonym matching: e.g. “store” vs. “shop”
       •   Base character matching: e.g. “société” vs. “societe”
       •   Transliteration matching: e.g. “Yamamoto” vs. “山本”
   – Numbers, dates
       • Formatting must not get in the way
   – Filtering/sorting
       • By topic?
       • By date?
       • Other?

                                                                       +1.303.444.8020
                                                                       www.Lingoport.com
I18n Implementation
• An implementation of the international
  functionality requirements determined from the
  previous steps
• Process cycle (Globalyzer)
  –   Perform code review
  –   Weed out “false positives”
  –   Address real identified issues
  –   Test


                                            +1.303.444.8020
                                            www.Lingoport.com
I18n Testing
• Testing of internationalized application
  – From English user perspective, the application should
    function as it did prior to i18n with no new bugs
    introduced
• “Round tripping” of international content
  – Extended characters should be preserved in a non-
    corrupted state from UI to database and back




                                                  +1.303.444.8020
                                                  www.Lingoport.com
I18n Testing, cont.
• Pseudo-localization
   – A “pseudo-locale” is created and implemented with “pseudo-
     translated” content
       • Before pseudo-translation:
           UserNameLabel=Username
           SomeMessage=The quick brown fox jumps over the lazy dog.
       • After pseudo-translation:
           UserNameLabel=縞Ùsèérnâàæmê史
           SomeMessage=嚮Thëëë qúûîìck bröööwn fòöõx jüùümps òvèèr thêê
             lãâzÿ dõøg燭.
   – Tests for:
       • String-length expansion issues
       • Extended character display/corruption issues
   – Globalyzer’s PseudoJudo Utility provides a “pseudo-locale”
                                                                      +1.303.444.8020
                                                                      www.Lingoport.com
I18n As An Ongoing Process
• Pervasive influence on entire organization
  – Paradigm shift: not US-centric!
  – I18n Coding Standards
     • Quality Assurance
     • I18n software lifecycle tools: Globalyzer
• Avoid code forks
  – New features with international focus to launch in ALL
    locales
• Relationship with Localization partner


                                                   +1.303.444.8020
                                                   www.Lingoport.com
I18n Cost/Benefit

• One-time Higher Initial Cost
   – I18n as part of development process



• Lower Overall Cost as End Result
   – Future releases incur only localization costs




                                                     +1.303.444.8020
                                                     www.Lingoport.com
Questions, comments

• What Is Your Internationalization Challenge?

• Email or call us:
   Info@lingoport.com
   +1.303.444.8020



   Internationalization Services: Lingoport.com
   Internationalization Software: Globalyzer.com

                                              +1.303.444.8020
                                              www.Lingoport.com

Mais conteúdo relacionado

Semelhante a Internationalization (i18n) Primer

Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureBoldRadius Solutions
 
3 s glbal presentation on unicode development
3 s glbal presentation on unicode development3 s glbal presentation on unicode development
3 s glbal presentation on unicode developmentSujit Ghosh
 
International SEO: How to Establish a Global Web Presence with a Localized Feel
International SEO: How to Establish a Global Web Presence with a Localized FeelInternational SEO: How to Establish a Global Web Presence with a Localized Feel
International SEO: How to Establish a Global Web Presence with a Localized FeelBusinessOnline
 
Yii i18n Internationalisation
Yii i18n InternationalisationYii i18n Internationalisation
Yii i18n InternationalisationCassiano Surek
 
NSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - EnglishNSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - EnglishFlorent Pillet
 
Localization: How to do a global project
Localization: How to do a global projectLocalization: How to do a global project
Localization: How to do a global projectAlconost
 
Abap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesAbap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesMilind Patil
 
Globe global search system oer asia_chibajapan_2012_10_15
Globe global search system oer asia_chibajapan_2012_10_15Globe global search system oer asia_chibajapan_2012_10_15
Globe global search system oer asia_chibajapan_2012_10_15FBergeron
 
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...Lingoport (www.lingoport.com)
 
What is Internationalization & Localization Testing?
What is Internationalization & Localization Testing?What is Internationalization & Localization Testing?
What is Internationalization & Localization Testing?QA InfoTech
 
Internationalization & localization testing
Internationalization & localization testingInternationalization & localization testing
Internationalization & localization testingRobin0590
 
The future of_conver_ai[6933]
The future of_conver_ai[6933]The future of_conver_ai[6933]
The future of_conver_ai[6933]LianaYe2
 
Nu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.comNu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.comDay Software
 
The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196Mahmoud Samir Fayed
 
E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...
E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...
E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...Gregor Jarisch
 
Domain driven design and model driven development
Domain driven design and model driven developmentDomain driven design and model driven development
Domain driven design and model driven developmentDmitry Geyzersky
 

Semelhante a Internationalization (i18n) Primer (20)

Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 
iOS Localization
iOS LocalizationiOS Localization
iOS Localization
 
3 s glbal presentation on unicode development
3 s glbal presentation on unicode development3 s glbal presentation on unicode development
3 s glbal presentation on unicode development
 
International SEO: How to Establish a Global Web Presence with a Localized Feel
International SEO: How to Establish a Global Web Presence with a Localized FeelInternational SEO: How to Establish a Global Web Presence with a Localized Feel
International SEO: How to Establish a Global Web Presence with a Localized Feel
 
Yii i18n Internationalisation
Yii i18n InternationalisationYii i18n Internationalisation
Yii i18n Internationalisation
 
The Typed Index
The Typed IndexThe Typed Index
The Typed Index
 
NSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - EnglishNSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - English
 
Localization: How to do a global project
Localization: How to do a global projectLocalization: How to do a global project
Localization: How to do a global project
 
Abap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesAbap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfiles
 
Globe global search system oer asia_chibajapan_2012_10_15
Globe global search system oer asia_chibajapan_2012_10_15Globe global search system oer asia_chibajapan_2012_10_15
Globe global search system oer asia_chibajapan_2012_10_15
 
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
Internationalization (i18n) and Localization (l10n) - Partners in Successful ...
 
What is Internationalization & Localization Testing?
What is Internationalization & Localization Testing?What is Internationalization & Localization Testing?
What is Internationalization & Localization Testing?
 
Internationalization & localization testing
Internationalization & localization testingInternationalization & localization testing
Internationalization & localization testing
 
The future of_conver_ai[6933]
The future of_conver_ai[6933]The future of_conver_ai[6933]
The future of_conver_ai[6933]
 
Nu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.comNu Skin: Integrating the Day CMS with Translation.com
Nu Skin: Integrating the Day CMS with Translation.com
 
The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196
 
E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...
E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...
E.D.D.I - 6 Years of Chatbot Development Experience in one Open Source Chatbo...
 
Domain driven design and model driven development
Domain driven design and model driven developmentDomain driven design and model driven development
Domain driven design and model driven development
 

Mais de Lingoport (www.lingoport.com)

Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Lingoport (www.lingoport.com)
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011Lingoport (www.lingoport.com)
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLingoport (www.lingoport.com)
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport (www.lingoport.com)
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationLingoport (www.lingoport.com)
 
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...Lingoport (www.lingoport.com)
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Lingoport (www.lingoport.com)
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Lingoport (www.lingoport.com)
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyLingoport (www.lingoport.com)
 
Business Perspectives on Internationalization (i18n)
Business Perspectives on Internationalization (i18n)Business Perspectives on Internationalization (i18n)
Business Perspectives on Internationalization (i18n)Lingoport (www.lingoport.com)
 

Mais de Lingoport (www.lingoport.com) (19)

Staying Global in an Agile World Presentation
Staying Global in an Agile World PresentationStaying Global in an Agile World Presentation
Staying Global in an Agile World Presentation
 
Internationalizing a Multi-Layered Application
Internationalizing a Multi-Layered ApplicationInternationalizing a Multi-Layered Application
Internationalizing a Multi-Layered Application
 
Shifting Left Webinar Slideshow
Shifting Left Webinar SlideshowShifting Left Webinar Slideshow
Shifting Left Webinar Slideshow
 
Shifting Left Webinar Slides
Shifting Left Webinar SlidesShifting Left Webinar Slides
Shifting Left Webinar Slides
 
Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!
 
Keyboards and Internationalization
Keyboards and InternationalizationKeyboards and Internationalization
Keyboards and Internationalization
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011
 
Internationalization & Localization Process
Internationalization & Localization ProcessInternationalization & Localization Process
Internationalization & Localization Process
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert Discussion
 
Unicode Primer for the Uninitiated
Unicode Primer for the UninitiatedUnicode Primer for the Uninitiated
Unicode Primer for the Uninitiated
 
Static analysis for multiple programming languages
Static analysis for multiple programming languagesStatic analysis for multiple programming languages
Static analysis for multiple programming languages
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software Localization
 
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
 
Outsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) ServicesOutsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) Services
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A Study
 
Business Perspectives on Internationalization (i18n)
Business Perspectives on Internationalization (i18n)Business Perspectives on Internationalization (i18n)
Business Perspectives on Internationalization (i18n)
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Internationalization (i18n) Primer

  • 1. Internationalization Primer Lingoport, Inc. 3980 Broadway Boulder, Colorado USA 80304 +1 303 444 8020 www.Lingoport.com © Lingoport, Inc. May 2007 info@lingoport.com Tuesday, June 26, 2007
  • 2. Internationalization Key Concepts • Locale • Translation • Localization (L10n) • Internationalization (i18n) • Globalization (G11n) • Character Sets/Encodings +1.303.444.8020 www.Lingoport.com
  • 3. Locale • Language + territory [ + variant ] – en_US = English (US) – en_GB = English (UK) • Combines language and territorial conventions for spelling, formatting, etc. – en_US = "color," mm/dd/yyyy, $1,234.56 – en_GB = "colour," dd/mm/yyyy, £1.234,56 • A more accurate representation than language +1.303.444.8020 www.Lingoport.com
  • 4. Translation • A rendering of the meaning of a text in another language • Not word-for-word, but a valid representation of the intended meaning in the form in which the target language communicates such meaning • Types of translation – Gisting: Provides the gist of a text in another language, useful to extract the general intent, accomplished with machine translation – Professional-quality: Requires a qualified human translator +1.303.444.8020 www.Lingoport.com
  • 5. Localization (L10n) • The adaptation of a product for a particular locale • Common abbreviation is L10n (L + 10 letters + n) • Includes translation, also application of locale- specific behavior (formatting, parsing, etc.) • Unless built incorporating internationalization, a product is inherently localized (specific to a given locale) • A product must be internationalized first +1.303.444.8020 www.Lingoport.com
  • 6. Internationalization (i18n) • The transformation of a product from locale- specific to locale-neutral • The process of engineering a product so it can be adapted to target languages and regions efficiently and without requiring subsequent engineering changes to the core product • Common abbreviation is i18n (i + 18 letters + n) • A product must be internationalized before localization can occur +1.303.444.8020 www.Lingoport.com
  • 7. Globalization • The process of transforming a locale-specific product into one that supports all target locales • The combination of i18n and L10n +1.303.444.8020 www.Lingoport.com
  • 8. Character Sets/Encodings • Character set – A set of characters used to support a given language or series of languages • Character encoding – A set of code points that defines numeric values for each character within a character set (coded character set) +1.303.444.8020 www.Lingoport.com
  • 9. 8-bit Character Encodings • Latin-1 encodings – ISO-8859-1, Windows-1252 (Cp1252) – Western European languages (English, Danish, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish, etc.) • Latin-2 encodings – ISO-8859-2, Windows-1251 – Central/Eastern European languages (Czech, Hungarian, Polish, Slovak, others) • ISO-8859-3 - 16 – Cyrillic, Arabic, Greek, Hebrew, Turkish, Baltic, etc. +1.303.444.8020 www.Lingoport.com
  • 10. Multibyte Encodings • Single-byte characters (ASCII, Cyrillic, etc.) + double-byte characters (Asian - Kana, Hangul, Kanji / Hanzi / Hanja) • GB-2312 (guobiao=“national standard” in Chinese) – 7,445 (Simplified Chinese) characters • Shift-JIS (“Japanese Industrial Standard”) – 6,355 Kanji characters +1.303.444.8020 www.Lingoport.com
  • 11. Unicode Standard • 96,447 characters from all of the world’s languages – Majority in the 2-byte (65,536 character) range, a.k.a. BMP (Basic Multilingual Plane) • Primary encoding forms: UTF-8, UCS-2, UTF-16 – UTF-8: variable length encoding (1-4 bytes) • Used with XML, HTML, UNIX • ASCII = ASCII range in UTF-8 – UCS-2: 16-bit encoding (2-byte chars) • Native encoding on NT-based systems – UTF-16: 16-bit encoding plus surrogates (4-byte chars) • Supports characters beyond BMP, including less common Asian characters, musical and mathematical symbols, esoteric scripts +1.303.444.8020 www.Lingoport.com
  • 12. I18n Process • Planning • Market Requirements Analysis • Architectural Requirements Analysis • Code Review • I18n Design • I18n Implementation • Testing • And beyond… • Localization • Support +1.303.444.8020 www.Lingoport.com
  • 13. Market Requirements Analysis • Target locales (languages/regions) • Target functionality – Uniform across locales or locale-specific? • Customer-driven requirements • Overseas partner/customer feedback • Region-specific requirements (legal, etc.) +1.303.444.8020 www.Lingoport.com
  • 14. Architectural Requirements Analysis Database Application U/I 3rd Party Products Business Logic Platforms, Browser Support Requirements +1.303.444.8020 www.Lingoport.com
  • 15. Architectural Considerations • Component capabilities/functionality – Character encoding support – Locale tracking – Dependencies • Fonts • Service Packs • Libraries – Third Party Products • Component interaction – Character encoding conversions – Locale notification +1.303.444.8020 www.Lingoport.com
  • 16. UI Design Considerations • UI Layout – Support for string length expansion – Bidirectional support – Asian support (support for character height expansion) • UI Locale – Separate monolingual vs. unified multilingual – Locale resolution +1.303.444.8020 www.Lingoport.com
  • 17. Code Review • What to Identify – Embedded strings – Unsafe methods/functions – Image references – Unsafe programming constructs (ex: regular expressions) • How to Identify – “Brute force” • Engineers search for and resolve known issues – Tool-assisted review • An I18n code analysis tool is employed to examine source code for a large range of potential and known issues • Issues can be identified and resolved in a more systematic fashion • E.g. Globalyzer (www.Globalyzer.com) +1.303.444.8020 www.Lingoport.com
  • 18. I18n Design: Key Considerations • Locale implementation – How is locale determined, tracked and supported within the application? • Character encoding support – What characters/encodings are required/supported? • Content externalization, storage and retrieval – What methods are used to identify, store and retrieve translatable content? • UI Layout – Does the layout accommodate text expansion, other locale-specific effects? • Locale-specific formatting – Numbers, dates/times, currencies, text direction, addresses, sorting • Uniform vs. locale-specific content/functionality – Where are the divisions between uniform content and functionality and the need for locale-specific content and functionality? +1.303.444.8020 www.Lingoport.com
  • 19. I18n Design Considerations Checklist* • Locale implementation • Encoding conversions (determination, tracking) • Locale-specific functions • Character encodings • Address formats • Strings • Telephone formats – Externalization – Concatenation • Page layout – Display/Layout • Fonts and attributes • Date/time handling • Images, icons, colors • Number handling • Bidirectional support • Currency handling • Reporting, workflow • Sorting • Database enabling • Searching • Multi-byte enabling +1.303.444.8020 www.Lingoport.com
  • 20. Locale Implementation • Locale determination – How is the current locale determined? • Selection process (one-time vs. global) • Detected • Preset per user/installation • Locale tracking – How is the locale tracked within the application? – How is the locale passed between components? +1.303.444.8020 www.Lingoport.com
  • 24. Character Encoding • What character encodings are necessary to support the target locales? • Which encodings are supported by the application components? • Unicode is recommended in most cases, but… – Which encoding to choose? • UTF-8 – HTML/XML, UNIX • UTF-16 – Java, Windows • UTF-32 – Need to support characters beyond BMP – It may not be supported by certain components +1.303.444.8020 www.Lingoport.com
  • 25. Strings: Externalization • Translatable or otherwise locale-specific strings that are embedded in the source code must be externalized into locale-specific resources • Resource files – Files to contain locale-specific data – Common file types: • RC files: Win32 • Properties files: Java • Resx files: .NET • PO files: UNIX, PHP +1.303.444.8020 www.Lingoport.com
  • 26. Strings: Concatenation • Concatenation is the piecing-together of text fragments to form a complete phrase String s = "Step "+x+" of the "+proc+" process"; • Concatenation causes serious translation issues because of word order and grammatical differences • Solution: use positional parameters to be replaced at runtime, e.g.: String s = "Step {0} of the {1} process"; +1.303.444.8020 www.Lingoport.com
  • 27. Grammatical Difference Example In English In German Der Masculine Subj. Die Feminine Subj. Das Neutral Subj. The Die Plural Den Masculine Dir. Obj. Dem Masculine Ind. Obj. Des Masculine Gen. etc. +1.303.444.8020 www.Lingoport.com
  • 28. Strings: Display/Layout • Fixed elements must allow for text expansion – Single-byte (e.g. Latin, Cyrillic, Hebrew) languages • expand horizontally, sometimes more than double the size of the English text – Double-byte character based (e.g. Japanese, Chinese, Korean) languages • expand vertically, since the characters are taller than Latin characters – Dynamic field length approach +1.303.444.8020 www.Lingoport.com
  • 29. Date/Time Handling • Date/time parsing – What is 01.02.03 ? February 1, 2003 in Europe January 2, 2003 in US February 3, 2001 in Japan • Date/time formatting – Short forms have the potential to be misleading – Use long forms to avoid potential misinterpretation – ISO form: YYYY-MM-DD hh:mm:ss • Good for parsing, acceptable but not ideal for display +1.303.444.8020 www.Lingoport.com
  • 30. Number Handling • Number parsing – How should the string “123,456” be parsed? • In the US, UK, Japan it is equal to the integer value 123456 • In Europe it is equal to the float value 123456/1000 • Number formatting – Same question in reverse • As numeric separators differ between locales, locale-specific functionality must be relied upon to parse and format the numbers correctly +1.303.444.8020 www.Lingoport.com
  • 31. Currency Handling • Similar issues to number handling, but also… • Currency formatting – Currency symbol/code placement • Currency conversions? – For international monetary transactions +1.303.444.8020 www.Lingoport.com
  • 32. Locale-Specific Formatting Examples Locale Short Date Long Date Number Currency English, US 05/06/02 May 6, 2002 1,234.56 $1,234.56 English, UK 06/05/02 06 May 2002 1.234,56 £1.234,56 French, France 06/05/02 6 mai 2002 1 234,56 1 234,56 € Japanese 02/05/06 2002年5月6日 1,234.56 ¥1,234.56 +1.303.444.8020 www.Lingoport.com
  • 33. Sorting/Collation • Q: Which list order is correct? Ångström Helsinki Helsinki Zürich Österreich Ångström Zürich Österreich Most Locales Skandinavian Languages A: Depends on locale, this is just one example +1.303.444.8020 www.Lingoport.com
  • 34. Searching • What functionality? – Text • Match all word forms: e.g. “city” vs. “cities” • Fuzzy matching: e.g. “security issues” vs. “security-related issues” • Synonym matching: e.g. “store” vs. “shop” • Base character matching: e.g. “société” vs. “societe” • Transliteration matching: e.g. “Yamamoto” vs. “山本” – Numbers, dates • Formatting must not get in the way – Filtering/sorting • By topic? • By date? • Other? +1.303.444.8020 www.Lingoport.com
  • 35. I18n Implementation • An implementation of the international functionality requirements determined from the previous steps • Process cycle (Globalyzer) – Perform code review – Weed out “false positives” – Address real identified issues – Test +1.303.444.8020 www.Lingoport.com
  • 36. I18n Testing • Testing of internationalized application – From English user perspective, the application should function as it did prior to i18n with no new bugs introduced • “Round tripping” of international content – Extended characters should be preserved in a non- corrupted state from UI to database and back +1.303.444.8020 www.Lingoport.com
  • 37. I18n Testing, cont. • Pseudo-localization – A “pseudo-locale” is created and implemented with “pseudo- translated” content • Before pseudo-translation: UserNameLabel=Username SomeMessage=The quick brown fox jumps over the lazy dog. • After pseudo-translation: UserNameLabel=縞Ùsèérnâàæmê史 SomeMessage=嚮Thëëë qúûîìck bröööwn fòöõx jüùümps òvèèr thêê lãâzÿ dõøg燭. – Tests for: • String-length expansion issues • Extended character display/corruption issues – Globalyzer’s PseudoJudo Utility provides a “pseudo-locale” +1.303.444.8020 www.Lingoport.com
  • 38. I18n As An Ongoing Process • Pervasive influence on entire organization – Paradigm shift: not US-centric! – I18n Coding Standards • Quality Assurance • I18n software lifecycle tools: Globalyzer • Avoid code forks – New features with international focus to launch in ALL locales • Relationship with Localization partner +1.303.444.8020 www.Lingoport.com
  • 39. I18n Cost/Benefit • One-time Higher Initial Cost – I18n as part of development process • Lower Overall Cost as End Result – Future releases incur only localization costs +1.303.444.8020 www.Lingoport.com
  • 40. Questions, comments • What Is Your Internationalization Challenge? • Email or call us: Info@lingoport.com +1.303.444.8020 Internationalization Services: Lingoport.com Internationalization Software: Globalyzer.com +1.303.444.8020 www.Lingoport.com