Top Banner
Software vNext going global !!! Joshua Malik Jerric Lyns John Orion India Systems Pvt. Ltd.
55
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software vNext - Internationalization

Software vNext going global !!!

Joshua Malik

Jerric Lyns John

Orion India Systems Pvt. Ltd.

Page 2: Software vNext - Internationalization

Softwares are getting

Internationalized

Tim Dodd

Page 3: Software vNext - Internationalization

What’s the problem?

Tim Dodd

It’s not the “NP-Complete” problem!

1. “It’s a huge problem if you have not

thought of it”

2. “If you have thought of it, then it’s just the

beginning”

Page 4: Software vNext - Internationalization

What’s the problem?

Kleine Moewe

Well, it’s the HARD problem of design.

1. Internationalization is the problem!

I. Languages

II. Time Zones

III. Formats

Page 5: Software vNext - Internationalization

Your software has to offer same usability to all!

Mathew Roth

Page 6: Software vNext - Internationalization

Localization matters !!!Eric Fisher

Page 7: Software vNext - Internationalization

We’ll have to deal with countries

and they might not prefer ENGLISH

Page 8: Software vNext - Internationalization

Like countries who attended Tito’s funeral,

almost every countries did!

Page 9: Software vNext - Internationalization

Initial Solution

We could make the software speak only

ENGLISH.

Sunc

Page 10: Software vNext - Internationalization

That’s a problem?

We could make the software accept only

ENGLISH. That’s okay until “Beyoncé

Knowles” comes into the picture.

Sunc

Page 11: Software vNext - Internationalization

Solution is !Unicode!

But for name if someone enters a control

character sequence that will break the

system.

Slash

Page 12: Software vNext - Internationalization

System Crashed!

Control characters in UNICODE are bad

“home-wrecks”

We could always “contain” the control

characters

That’s 30,000+ if you include Mandarin,

Cantonese etc..

Kleine Moewe

Page 13: Software vNext - Internationalization

Since you have Unicode, why not make it

International ! Iceman

Page 14: Software vNext - Internationalization

Problem: Static UI

Lets say your MenuBar was marked up with

static width.

This will break the UI once translated

Solution: Make it flexible

Page 15: Software vNext - Internationalization

Problem: Composition

You could out source all the words used by

the your software to be translated

a.k.a string composition

Well, that works!

Until the Italians turn up!

Venice

Page 16: Software vNext - Internationalization

Problem: Composition

Their translation requires gender, the

translated word changes accordingly.

Solution:

Provide gender (Male, Female) along

with the Resource files

Caveat:

I have to ask user for their gender!Venice

Page 17: Software vNext - Internationalization

Problem: Gender

Just Male+Female as gender is a problem!

The Swiss activist group Zwischengeschlecht

(“Between Genders”), they‘ll file a case

against you. Now that Germany and

Australia has made it official gender (X)

Solution: Provide and extra gender!

Zwischengesch.

.

Page 18: Software vNext - Internationalization

Problem: Plurals

English: Singular + Plural

There are languages where:

Singular + Dual + Plural exists

Poland: Pausal+Plural (ending 2,3,4)+Plurals

Romania: Different plural for anything more

than 20

Tomas Melka

Page 19: Software vNext - Internationalization

Problem: UpperCase

Germany: Sometimes the upper case letter

is “2 letters”

What?

Yes, and sometimes it doesn’t change, like

that of geographic names

Armin Hoffman

Page 20: Software vNext - Internationalization

Problem: Ctd…

We all use excerpts where we represent only

some words of a long file and the rest with

dots…

GCC (The Gulf): Those dots will change the

meaning in Arabic

What?

Yes, also the text is right-to-left!

(Arabic/Hebrew), also names are from “left-

to-right” in between the “right-to-lefts”

Eugene

Page 21: Software vNext - Internationalization

BANG!

From now on read it as

1. “I’m so dumb”

2. “I shouldn’t have done that”

3. “I really shouldn’t have done that”

4. “Now what do we do”

Kleine Moewe

Page 22: Software vNext - Internationalization

Date/Time/Format matters !!!

Atlas Maritimus

Page 23: Software vNext - Internationalization

Problem: Date format

USA: MM DD YYYY

UK: DD MM YYYY

USA: Week starts at “Sunday”

UK: Week starts at “Monday”

Andrea

Page 24: Software vNext - Internationalization

Problem: Time format

USA: 12hr clock

Europe/Brazil: 24hr clock

Zeek

Page 25: Software vNext - Internationalization

Problem: Numbers

Europe: 100,000,000.000,00

USA: 100,000,000

India: 10,00,00,000

Farms8

Page 26: Software vNext - Internationalization

Kleine Moewe

Problem: Language

Changes in languages are subtle and unique

and it’s complex.

So what do we do?

Good Question!

Page 27: Software vNext - Internationalization

Time Zones matters !!!

mtyto

Page 28: Software vNext - Internationalization

Time calculations

Usually we calculate time differences based

on the time zones (which is +/- an offset

towards Greenwich)

Australia: +9 ½ hours

Nepal: +5 ¼ hours

This is simple get the canonical time zone

chart and implement it!

Zeek

Page 29: Software vNext - Internationalization

Daylight savings

Advancing clocks during respective season

(autumn/spring/summer) so as to get more

daylight.

That’s okay every countries involve in this

process documents this well in advance. We

just have to update it to our system!

Worst part some advance, some goes back!

Libya is no more daylight saving after 2013

Catklien

Page 30: Software vNext - Internationalization

Skipping a day!

Somoa: they skipped a day to move to

western side of international dateline to

keep their business running with Australia

What?

From 29 December, 2011 to 31 December

2011

These changing of time zones happen quiet

often! But they keep it updated too..

Somoa

Page 31: Software vNext - Internationalization

Changing of time zone

Britain : 1940-1945 – gmt+2

(Greenwich is in Britain)

Time Zone changes happens quiet often.

Like at several times a year

Mtyto

Page 32: Software vNext - Internationalization

History and time

We shifted calendar in 18th century from

Julian calendar to Gregorian calendar

We literally missed(skipped) 3 weeks in

between that.

Russians did that in 20th century

Now this change is location based.

Page 33: Software vNext - Internationalization

History and time

16th century : Once upon a time, the year

started at 25th of March

So how do we calculate time prior to that?

Atlas Maritimus

Page 34: Software vNext - Internationalization

BANG!

Now that’s perfectly confusing every living

developers!

Kleine Moewe

Page 35: Software vNext - Internationalization

Astrophysicst and time

Leap second: As tectonic plates move about

the earth’s speed increases and decreases.

This leads to calculations in time correction

by the International Astronomical Union

i.e. 23:59:59 to 00:00:00 Normal

23:59:59 to 23:59:60 Leap second

i.e. 61s in a minuteWiki

Page 36: Software vNext - Internationalization

UTC & Astronomical

UTC – includes Leap second

Astronomical – Doesn’t, to keep looking at

the stars and design telescopes around it

Google has addressed this using a

technique known as leap smear: adds a

small amount of time through out the day

so that it is not visible to others.

Smithsonian

Page 37: Software vNext - Internationalization

All mission,

Abort Abort Abort !

Tim Dodd

Page 38: Software vNext - Internationalization

Do it and

you’ll end up burning your PRD !Sarah Loreth

Page 39: Software vNext - Internationalization

Trying to internationalize

manually can be suicidal !LittleMissNunon

Page 40: Software vNext - Internationalization

because, its big !

Page 41: Software vNext - Internationalization

because,

it requires a lot of knowledge !BrandonTimmo

n

Page 42: Software vNext - Internationalization

because,

You have

to get it right !

Page 43: Software vNext - Internationalization

Solution!

Don’t treat internationalization as just

another problem, it’s madness

1. Take the codes made available OSS

2. There are the libraries used by

1. Apple

2. Amazon

3. Google etc..

3. Microsoft provides proprietary LibraryKleine Moewe

Page 44: Software vNext - Internationalization

Open Source

International Components for Unicode

http://site.icu-project.org/

1. C/C++, Java library

2. Text layout for Arabic, Hebrew, Indic, and

Thai

3. Multi-calender and time zones

4. Formatting, parsing of dates, times,

numbers, currencies, and messages

Page 45: Software vNext - Internationalization

Open Source

International Components for Unicode

How popular is this library?

1. Adobe, Amazon (Kindle), Apache,

Appian, Apple, Avaya, BAE Systems

Geospatial eXploitation Products, BEA,

BluePhoenix Solutions, BMC Software,

Boost, BroadJump, Business Objects,

caris, CERN, Debian Linux, Dell, Eclipse

Page 46: Software vNext - Internationalization

Open Source

International Components for Unicode

How popular is this library?

1. eBay, EMC Corporation, ESRI, Firebird

RDBMS, Free BSD, Gentoo Linux, Google,

GroundWork Open Source, GTK+,

Harman/Becker Automotive Systems

GmbH, HP, Hyperion, IBM, Inktomi,

Innodata Isogen, Informatica, Intel,

Page 47: Software vNext - Internationalization

Open Source

International Components for Unicode

How popular is this library?

1. Interlogics, IONA, IXOS, Jikes, Library of

Congress, Mathworks, Mozilla, Netezza,

OpenOffice, Lawson Software, Leica

Geosystems GIS & Mapping LLC,

Mandrake Linux, OCLC, Progress

Software, Python, QNX, Rogue Wave

Page 48: Software vNext - Internationalization

Open Source

International Components for Unicode

How popular is this library?

1. SAP, SIL, SPSS, Software AG, Sun

Microsystems (Solaris, Java), SuSE, Sybase,

Symantec, Teradata (NCR), ToolAware,

Trend Micro, Virage, webMethods, Wine,

WMS Gaming, XyEnterprise, Yahoo!, Vuo,

and many others….

Page 49: Software vNext - Internationalization

EyeSplash

RESPECT! OSS

They have almost fixed this for us!

1. We do not have to write it from scratch

2. Unknowingly we are using it

3. There is a huge active community

pushing the limits

Page 50: Software vNext - Internationalization

EyeSplash

Terminologies

Some alphanumeric representations!

1. i18n – Internationalization

2. g11n – Globalization

3. L10n - Localization

4. L12y - Localizability

Slash

Page 51: Software vNext - Internationalization

Mozilla

i18n

Internationalization / Globalization(g11n)

Designing and developing a software

product to function in multiple locales.

This process involves

1. Identifying the locales to support,

2. Designing features for those locales

3. Writing code that functions equally well

in any of the supported locales.

Page 52: Software vNext - Internationalization

L10n

Localization

Modifying or adapting a software product to

fit the requirements of a particular locale.

This process includes

1. Translating the user interface

2. Documentation and packaging,

3. Changing dialog box geometries,

4. Testing the translated productsMozilla

Page 53: Software vNext - Internationalization

L12y

Localizability

The degree to which a software product can

be localized.

1. Localizable products separate data from

code,

2. Correctly display the target language

3. Function properly after being localized.

Mozilla

Page 54: Software vNext - Internationalization

SMC

Swathanthra Malayalam Computing!

1. A huge community in Kerala for

Malayalam

2. l10n

3. Pushing to upstream project like

1. Mozilla

2. Linux etc..

Page 55: Software vNext - Internationalization

This work by Jerric Lyns John is licensed under a Creative Commons

Attribution-NonCommercial-ShareAlike 4.0 International License.