Internationalization Basics Webinar Slides

Preview:

Citation preview

Internationalization Basics

From Lingoport:Adam Asnes

Agenda

• Intro to Lingoport• Basic terminology and i18n concepts• Top 10 i18n issues• Continuous Globalization

o Software Globalization & Development Cycleso Integrating i18n & L10n with sprints

• ROI• Q&A, Follow-up Resources

Lingoport Suite

Painless support & actionable data to facilitate ongoing software internationalization and

localization.

i18n (i + nternationalizatio + n)o the process of making code world-ready so that it can be

localized to a specific region and language L10n (L + ocalizatio + n)

o the process of adapting the application content to meet the language, cultural and other requirements of a specific target market

G11n (g + lobalizatio + n)o the process of designing and developing a software product that

functions in multiple countries and languages

i18n, L10n, g11n

5

g11n = i18n + L10n

6

I18n Issues OverviewWhat’s not in the code (architecture and design)• Locale• Assumptions about use and

interaction• Flexibility for regulations or

market requirements• 3rd party product

dependencies

What’s in the code• Embedded Strings

o Concatenations

• Locale-Unsafe Methods, Functions, Classes

• Programming Patterns• Static File References

Top 10 i18n Issues

©Lingoport, Inc. 2013 - do not distribute 8

#1 – Character Corruption

Some characters show up corrupted文字化け : (mojibake) "character change"

©Lingoport, Inc. 2013 - do not distribute 9

#2 – Hard-Coded or Embedded Strings

Embedded strings are hard-coded character strings in the source code.

In the example below, some text stays in U.S. English regardless of the user language

©Lingoport, Inc. 2013 - do not distribute 10

#3: Incorrect Date / Time Format

The date or the time shows up with a U.S. English format; here the date is shown as May 6th, 2011

©Lingoport, Inc. 2013 - do not distribute 11

#4: Programming Shortcuts

Developers can take shortcuts in a U.S. English application that do not transfer to an international audience

Here the table names are used to display a selection

©Lingoport, Inc. 2013 - do not distribute 12

#5: Designing without Considering i18n

Designing software without thinking about international markets can lead to re-writes later on

Here, an on-screen keyboard only lets the user type in ASCII characters.

©Lingoport, Inc. 2013 - do not distribute 13

#6: Emails If the application sends email, that part of the software must

be examined carefully Here there is a mix of Japanese and U.S. English text

©Lingoport, Inc. 2013 - do not distribute 14

#7: Parsing and Displaying Numbers

The application fails to parse a number because it was entered with a comma decimal separator, as in the French “12,50” as opposed to the U.S. “12.50”

©Lingoport, Inc. 2013 - do not distribute 15

#8: Static File References

Showing or playing a file in the wrong languageo Html Fileso Videoso Images

©Lingoport, Inc. 2013 - do not distribute 16

#9: Currencies Currencies need special attention Here, the currency symbol is wrong, which makes the result unusable

©Lingoport, Inc. 2013 - do not distribute 17

#10: Understanding Usage Models

In the following link, an honest view as to why the initial QuickBooks introduction to Japan did not go wello http://www.inc.com/chris-beier-and-daniel-wolfman/intuit-quicken-sc

ott-cook-global-expansion-failed.html

©Lingoport, Inc. 2013 - do not distribute 18

Doesn’t Java Support i18n?

Written in Java (or others) does not mean internationalized Here the software does not properly validate entries

static boolean checkString(String argument) { for (int i=0; i<argument.length(); i++) { char a = argument.charAt(i); if ((a >= ‘A’ && a <= ‘Z’) || (a >= ‘A’ && a <= ‘Z’)) continue; else return false;

©Lingoport, Inc. 2013 - do not distribute 19

Tackling i18n Projects Determine the i18n requirements Assess the situation

o Architectural viewo Code specifics

Come up with a plan, a budget, a time lineo Is the plan approved by management?o Rarely ‘easy’ or ‘cheap’ o Build it into each feature

Execute on the software development, QA, Linguistics plan

©Lingoport, Inc. 2013 - do not distribute 20

Agile DevelopmentContinuous Globalization (G11n)

Defect costs per stage

Traditional approach to SW Development in a well defined process

When most i18n & L10n issues are addressed

G11n & Agile i18n & L10n issues oftenFall into backlogs

Continuous G11n

I18n in Software Development

i18n compliance through iterative QA cycles and releases is a waste of money and time

Finding, managing, fixing and verifying i18n bugs is costly. Averages start at $500/bug. Interrupts the flow of development

Releasing core products to worldwide markets faster creates revenue opportunities, not just cost savings

“Reactive internationalization is unpredictable and poorly controlled.” – Gary Lefman, Cisco i18n Architect.

©Lingoport, Inc. 2013 - do not distribute 25

• 5 Teams X 20 sprints/year = 100 Sprints• Each sprint has 5 features = 500 features• 2 days saved per feature = 1,000 days• At $40/hour = $325,000 per year• Productivity increase of 3 people per year

Continuous G11n ROI

Questions & Answers:Contact Resources

Adam AsnesCEO & PresidentLingoport, Inc.

http://www.lingoport.comLingoport Suitei18n e-learningi18n consulting

• http://lingoport.com/blog• http://lingoport.com/resources• http://lingoport.com/products