Download - Globalization & internationalization
Intro to Globalization
S.Kannan, Solution Architect
September 05, 2008
Introduction
Internationalization – (i18n) Making the application world-ready
Localization Deploying the application for a locale
CONFIDENTIAL
What is different?
Formatting User Interface Text / Phrases time zone Currency …
CONFIDENTIAL
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
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
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
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
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
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
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
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
Calendars
Some cultures use different calendar and the localization should also address this need
Some cultures have alternative calendars
CONFIDENTIAL
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
Phone Numbers
Different separators 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
Time
24 Hour clockUsage of AM / PMSeparators – Some Asian languages
use idiographic characters as separators. And some cultures require a trailing ‘h’ or ‘s’
CONFIDENTIAL
Units of Measure
Imperial vs Metric system of measure.Mile vs Kilo MetersLiter vs GallonPounds vs Kilo GramsFahrenheit vs CelsiusLetter vs A4…
CONFIDENTIAL
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
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
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
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
String compare
It is common to compare string literals or variables
String contents on both side should represent the same language
CONFIDENTIAL
Localized emails
Localized email templates to be created
Position of variable place holders within the template
CONFIDENTIAL
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
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
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
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
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
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
Next Steps - Internationalization
Expedite and make necessary business decisions
Identify the scope and timelines for internationalization
Implement design and code changes
CONFIDENTIAL
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
Thank You
????
CONFIDENTIAL