2. Introduction
Internationalization – (i18n)
Making the application world-ready
Localization
Deploying the application for a locale
CONFIDENTIAL
3. What is different?
Formatting
User Interface
Text / Phrases
time zone
Currency
…
CONFIDENTIAL
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. 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. 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. 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. 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. 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. 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. 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. Calendars
Some cultures use
different calendar and
the localization should
also address this need
Some cultures have
alternative calendars
CONFIDENTIAL
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. 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. 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. 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. 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. 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. 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. 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. String compare
Itis common to compare string literals
or variables
String contents on both side should
represent the same language
CONFIDENTIAL
22. Localized emails
Localized email templates to be
created
Position of variable place holders
within the template
CONFIDENTIAL
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. 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. 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. 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. 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. 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. Next Steps - Internationalization
Expedite and make necessary business
decisions
Identify the scope and timelines for
internationalization
Implement design and code changes
CONFIDENTIAL
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