27
Internationalization Basics From Lingoport: Adam Asnes

Internationalization Basics Webinar Slides

Embed Size (px)

Citation preview

Page 1: Internationalization Basics Webinar Slides

Internationalization Basics

From Lingoport:Adam Asnes

Page 2: Internationalization Basics Webinar Slides

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

Page 3: Internationalization Basics Webinar Slides
Page 4: Internationalization Basics Webinar Slides

Lingoport Suite

Painless support & actionable data to facilitate ongoing software internationalization and

localization.

Page 5: Internationalization Basics Webinar Slides

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

Page 6: Internationalization Basics Webinar Slides

g11n = i18n + L10n

6

Page 7: Internationalization Basics Webinar Slides

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

Page 8: Internationalization Basics Webinar Slides

Top 10 i18n Issues

©Lingoport, Inc. 2013 - do not distribute 8

Page 9: Internationalization Basics Webinar Slides

#1 – Character Corruption

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

©Lingoport, Inc. 2013 - do not distribute 9

Page 10: Internationalization Basics Webinar Slides

#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

Page 11: Internationalization Basics Webinar Slides

#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

Page 12: Internationalization Basics Webinar Slides

#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

Page 13: Internationalization Basics Webinar Slides

#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

Page 14: Internationalization Basics Webinar Slides

#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

Page 15: Internationalization Basics Webinar Slides

#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

Page 16: Internationalization Basics Webinar Slides

#8: Static File References

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

©Lingoport, Inc. 2013 - do not distribute 16

Page 17: Internationalization Basics Webinar Slides

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

©Lingoport, Inc. 2013 - do not distribute 17

Page 18: Internationalization Basics Webinar Slides

#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

Page 19: Internationalization Basics Webinar Slides

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

Page 20: Internationalization Basics Webinar Slides

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

Page 21: Internationalization Basics Webinar Slides

Agile DevelopmentContinuous Globalization (G11n)

Page 22: Internationalization Basics Webinar Slides

Defect costs per stage

Traditional approach to SW Development in a well defined process

When most i18n & L10n issues are addressed

Page 23: Internationalization Basics Webinar Slides

G11n & Agile i18n & L10n issues oftenFall into backlogs

Page 24: Internationalization Basics Webinar Slides

Continuous G11n

Page 25: Internationalization Basics Webinar Slides

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

Page 26: Internationalization Basics Webinar Slides

• 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

Page 27: Internationalization Basics Webinar Slides

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