31
Intro to Globalization S.Kannan, Solution Architect September 05, 2008

Globalization & internationalization

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Globalization & internationalization

Intro to Globalization

S.Kannan, Solution Architect

September 05, 2008

Page 2: Globalization & internationalization

Introduction

Internationalization – (i18n) Making the application world-ready

Localization Deploying the application for a locale

CONFIDENTIAL

Page 3: Globalization & internationalization

What is different?

Formatting User Interface Text / Phrases time zone Currency …

CONFIDENTIAL

Page 4: Globalization & internationalization

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

Page 5: Globalization & internationalization

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

Page 6: Globalization & internationalization

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

Page 7: Globalization & internationalization

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

Page 8: Globalization & internationalization

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

Page 9: Globalization & internationalization

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

Page 10: Globalization & internationalization

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

Page 11: Globalization & internationalization

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

Page 12: Globalization & internationalization

Calendars

Some cultures use different calendar and the localization should also address this need

Some cultures have alternative calendars

CONFIDENTIAL

Page 13: Globalization & internationalization

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

Page 14: Globalization & internationalization

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

Page 15: Globalization & internationalization

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

Page 16: Globalization & internationalization

Units of Measure

Imperial vs Metric system of measure.Mile vs Kilo MetersLiter vs GallonPounds vs Kilo GramsFahrenheit vs CelsiusLetter vs A4…

CONFIDENTIAL

Page 17: Globalization & internationalization

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

Page 18: Globalization & internationalization

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

Page 19: Globalization & internationalization

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

Page 20: Globalization & internationalization

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

Page 21: Globalization & internationalization

String compare

It is common to compare string literals or variables

String contents on both side should represent the same language

CONFIDENTIAL

Page 22: Globalization & internationalization

Localized emails

Localized email templates to be created

Position of variable place holders within the template

CONFIDENTIAL

Page 23: Globalization & internationalization

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

Page 24: Globalization & internationalization

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

Page 25: Globalization & internationalization

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

Page 26: Globalization & internationalization

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

Page 27: Globalization & internationalization

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

Page 28: Globalization & internationalization

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

Page 29: Globalization & internationalization

Next Steps - Internationalization

Expedite and make necessary business decisions

Identify the scope and timelines for internationalization

Implement design and code changes

CONFIDENTIAL

Page 30: Globalization & internationalization

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

Page 31: Globalization & internationalization

Thank You

????

CONFIDENTIAL