Globalization & internationalization


Published on

This presentation walks through the Globalization, Localization and Internationalization of a software application.

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Globalization & internationalization

  1. 1. Intro to Globalization S.Kannan, Solution ArchitectSeptember 05, 2008
  2. 2. Introduction Internationalization – (i18n)  Making the application world-ready Localization  Deploying the application for a locale CONFIDENTIAL
  3. 3. What is different? Formatting User Interface Text / Phrases time zone Currency … CONFIDENTIAL
  4. 4. Text Lengths Length of text may vary  In terms of number of characters  In terms of pixels Impacts UI  Unexpected text wraps  Hidden / overlapping UI elements  Width extending beyond page width / or getting cropped CONFIDENTIAL
  5. 5. Bitmaps & Images Symbolic images may at time be understood differently in different countries Some images may have adverse political / cultural impact in some countries Images containing text may not represent the user’s language of choice. Some images / colors may lead to legal conflicts CONFIDENTIAL
  6. 6. Access & Shortcut keys Variant keyboard layouts may result in a specific access / shortcut key not being supported Shortcut keys cannot consist of characters from double-byte character set CONFIDENTIAL
  7. 7. Language Direction Few languages require text to flow from Right to Left. There are design / layout related complexities which need to be addressed in case of such languages. CONFIDENTIAL
  8. 8. Fonts Certain Language specific fonts may compound the challenges Non availability of language specific fonts in the client PC may lead to the content being displayed as junk characters CONFIDENTIAL
  9. 9. Address Formats The following may differ per location  Input fields  Differing field layouts  Dynamic visibility some of the screen elements  Differing validation rules  Differing field formats CONFIDENTIAL
  10. 10. Currency Differing currency symbols Currency symbol placement – leading / trailing Negative amount display – paranthesis or using a leading / trailing hyphen. Some locales using multiple currencies CONFIDENTIAL
  11. 11. Date Formats Differing Long and Short date formats. Differing month names, day names. Date parsing, unless associated with a locale / format, may lead to incorrect identification of date value. CONFIDENTIAL
  12. 12. Calendars Some cultures use different calendar and the localization should also address this need Some cultures have alternative calendars CONFIDENTIAL
  13. 13. Numerals Differing thousands separator Differing decimal separator Negative numbers – parenthesis or hyphens Differing Shapes – the font face of the digit. Digit grouping – (123,456 Vs 1,23,456) Representation of percentage – Leading / Trailing ‘%’ symbol. CONFIDENTIAL
  14. 14. Phone Numbers Differentseparators and different grouping schemes used in different countries. Grouping separators – hyphens or parenthesis or space The length of the phone number also is not standard across the world. ISO standard – 15 digits CONFIDENTIAL
  15. 15. Time 24 Hour clock Usage of AM / PM Separators – Some Asian languages use idiographic characters as separators. And some cultures require a trailing ‘h’ or ‘s’ CONFIDENTIAL
  16. 16. Units of Measure Imperial vs Metric system of measure.  Mile vs Kilo Meters  Liter vs Gallon  Pounds vs Kilo Grams  Fahrenheit vs Celsius  Letter vs A4 … CONFIDENTIAL
  17. 17. Currency Currency differs by country and by organizational units. Users may prefer to pay in different currency than the currency of the country / org unit. Corporate head quarters may want various reports in a common currency. Differences may arise on account of currency conversion at various time periods – business rules need to be defined to handle this. CONFIDENTIAL
  18. 18. time zone Different entities in the organization hierarchy may fall under different time zones. DateTime data type in SQL server 2005 does not support time zone information. Time zone adjustments have to be made based on user location and / or organization unit location. CONFIDENTIAL
  19. 19. Runtime string concatenation It is common in applications that strings are generated in run time by concatenation, which may lead to issues like:  Word order issues  Gender issues  Translation issues  String growth  String sorting or comparison As such the translation should happen at phrase level rather than at the word level. CONFIDENTIAL
  20. 20. Resource files Every time a new locale is added to the application, it is essential that a new resource file is created with text in respective language. Hard coded string values within the application shall be completely avoided, so that addition of a new locale will only require addition of another resource file. CONFIDENTIAL
  21. 21. String compare Itis common to compare string literals or variables String contents on both side should represent the same language CONFIDENTIAL
  22. 22. Localized emails Localized email templates to be created Position of variable place holders within the template CONFIDENTIAL
  23. 23. Database Challenges Unicode character columns Collation  Can be defined at design time or  Can be defined at run time Query filters – literals / user input values in where clauses Indexing issues Time zone issues Text Transliteration CONFIDENTIAL
  24. 24. Dependencies on External Systems Localization support from EasyDraft / GIRO or such other fund processors. Localization support from CSS – the CSS dependent brands may not opt for localization? Extent of localization supported by Oracle HR, OID, Service Now and such other enterprise applications in the enterprise Current or future needs for BI / reporting services and the ability to collaborate such localized data (local currencies, local time zones, local languages, etc) CONFIDENTIAL
  25. 25. Next Steps - Business decisions Need for translation services – Internal / External  Divergent language rules like the specific punctuation, etc makes translation a challenge.  For the UI static content, the resource files may be used at the presentation layer.  Create & maintain a language translation database  Identify and contract with an external vendor for translation services CONFIDENTIAL
  26. 26. Next Steps - Business decisions Decide on which class of users will see localized content.  Ideally, the internal users always see the content in English language and the customers see localized content. Identify the data elements that needs localization  Text data internally used by the application need not be localized  Text data used solely by the internal employees need not be localized or localized to the base locale of the brand / such other entity CONFIDENTIAL
  27. 27. Next Steps - Business decisions Decide on the Database localization  Localized at column / row / table / database schema level Specify the business rules with respect to time zone handling  All udpates to database shall be based on UTC  Time zone adjustment shall be done at App Tier (Business Logic Layer) based on the requirements of the specific interface / function, the user class and user’s choice of time zone. CONFIDENTIAL
  28. 28. Next Steps - Business decisions Specify the business rules with respect to currency handling  Base currencies at Provider / Brand and School level  All transactions shall be recorded in the currency in which it was carried out  Currency conversion shall happen at the APP tier based on the specific requirements of the interface / function / report, user class and the user’s choice. CONFIDENTIAL
  29. 29. Next Steps - Internationalization Expedite and make necessary business decisions Identify the scope and timelines for internationalization Implement design and code changes CONFIDENTIAL
  30. 30. Localization Identify the specific localization need  Country / Culture  Language(s) to be supported  Pages / Interfaces / data elements to be localized Translation  Language experts for translation  Localize content (text, graphics, etc)  Build a translation database, if required Implement design & code changes that may arise CONFIDENTIAL
  31. 31. Thank You ???? CONFIDENTIAL