Internationalization Basics Webinar Slides

Adam Asnes
Adam AsnesPresident, Lingoport, Inc. at Lingoport, Inc.
Continuous Globalization
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 Cycles
o Integrating i18n & L10n with sprints
• ROI
• Q&A, Follow-up Resources
Internationalization Basics Webinar Slides
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 Overview
What’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 language
o Html Files
o Videos
o 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 well
o http://www.inc.com/chris-beier-and-daniel-wolfman/intuit-quicken-
scott-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 view
o Code specifics
 Come up with a plan, a budget, a time line
o 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 Development
Continuous 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 often
Fall 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 Asnes
CEO & President
Lingoport, Inc.
http://www.lingoport.com
Lingoport Suite
i18n e-learning
i18n consulting
• http://lingoport.com/blog
• http://lingoport.com/resources
• http://lingoport.com/products
1 of 27

Recommended

Input Method Editor (IME) and Testing challenges in Multilingual applications by
Input Method Editor (IME) and Testing challenges in Multilingual applicationsInput Method Editor (IME) and Testing challenges in Multilingual applications
Input Method Editor (IME) and Testing challenges in Multilingual applicationsQA InfoTech
174 views13 slides
Open Access workshop at Repository Fringe 2015 - Valerie McCutcheon by
Open Access workshop at Repository Fringe 2015 - Valerie McCutcheonOpen Access workshop at Repository Fringe 2015 - Valerie McCutcheon
Open Access workshop at Repository Fringe 2015 - Valerie McCutcheonRepository Fringe
828 views17 slides
Shifting Left Webinar Slides by
Shifting Left Webinar SlidesShifting Left Webinar Slides
Shifting Left Webinar SlidesLingoport (www.lingoport.com)
436 views13 slides
Specific tools respectively for scania, gm and porsche by
Specific tools respectively for scania, gm and porscheSpecific tools respectively for scania, gm and porsche
Specific tools respectively for scania, gm and porschecareucar123
179 views3 slides
Herpes Simplex 2 Cure by
Herpes Simplex 2 CureHerpes Simplex 2 Cure
Herpes Simplex 2 Curemetiersulip
101 views9 slides
Descon Internship letter by
Descon Internship letterDescon Internship letter
Descon Internship letterASAD SHAUKAT
622 views1 slide

More Related Content

Viewers also liked

Как пройти пути от любительских поделок на Arduino до промышленных решений за... by
Как пройти пути от любительских поделок на Arduino до промышленных решений за...Как пройти пути от любительских поделок на Arduino до промышленных решений за...
Как пройти пути от любительских поделок на Arduino до промышленных решений за...Intersog
589 views20 slides
Mculebrasd / Si has begut o consumit drogues, no agafis la moto by
Mculebrasd / Si has begut o consumit drogues, no agafis la motoMculebrasd / Si has begut o consumit drogues, no agafis la moto
Mculebrasd / Si has begut o consumit drogues, no agafis la motoConcurs Joves i Conducció 5ª edició (RACC)
107 views2 slides
Graduacão - Gestão Pública - Unisinos by
Graduacão - Gestão Pública - UnisinosGraduacão - Gestão Pública - Unisinos
Graduacão - Gestão Pública - UnisinosUniversidade Unisinos
1.1K views7 slides
Your Coach is Killing Your Agility : Presented by Madhur Kathuria by
Your Coach is Killing Your Agility : Presented by Madhur KathuriaYour Coach is Killing Your Agility : Presented by Madhur Kathuria
Your Coach is Killing Your Agility : Presented by Madhur KathuriaoGuild .
757 views40 slides
Srijan - agile tour 2015 -- building agile cultures by
Srijan  - agile tour 2015 -- building agile culturesSrijan  - agile tour 2015 -- building agile cultures
Srijan - agile tour 2015 -- building agile culturesMadhur Kathuria
743 views29 slides
If You Need To Run A Project You've Already Failed : Presented by Evan Leybourn by
If You Need To Run A Project You've Already Failed : Presented by Evan LeybournIf You Need To Run A Project You've Already Failed : Presented by Evan Leybourn
If You Need To Run A Project You've Already Failed : Presented by Evan LeybournoGuild .
417 views30 slides

Viewers also liked(19)

Как пройти пути от любительских поделок на Arduino до промышленных решений за... by Intersog
Как пройти пути от любительских поделок на Arduino до промышленных решений за...Как пройти пути от любительских поделок на Arduino до промышленных решений за...
Как пройти пути от любительских поделок на Arduino до промышленных решений за...
Intersog589 views
Your Coach is Killing Your Agility : Presented by Madhur Kathuria by oGuild .
Your Coach is Killing Your Agility : Presented by Madhur KathuriaYour Coach is Killing Your Agility : Presented by Madhur Kathuria
Your Coach is Killing Your Agility : Presented by Madhur Kathuria
oGuild .757 views
Srijan - agile tour 2015 -- building agile cultures by Madhur Kathuria
Srijan  - agile tour 2015 -- building agile culturesSrijan  - agile tour 2015 -- building agile cultures
Srijan - agile tour 2015 -- building agile cultures
Madhur Kathuria743 views
If You Need To Run A Project You've Already Failed : Presented by Evan Leybourn by oGuild .
If You Need To Run A Project You've Already Failed : Presented by Evan LeybournIf You Need To Run A Project You've Already Failed : Presented by Evan Leybourn
If You Need To Run A Project You've Already Failed : Presented by Evan Leybourn
oGuild .417 views
ATPG Methods and Algorithms by Deiptii Das
ATPG Methods and AlgorithmsATPG Methods and Algorithms
ATPG Methods and Algorithms
Deiptii Das13.7K views
Agile4 hr agile tour brussels 2015 by Pierre E. NEIS
Agile4 hr agile tour brussels 2015Agile4 hr agile tour brussels 2015
Agile4 hr agile tour brussels 2015
Pierre E. NEIS1.1K views
Globalization & internationalization by Kannan Subbiah
Globalization & internationalizationGlobalization & internationalization
Globalization & internationalization
Kannan Subbiah2.1K views
Robot operating systems (ros) overview & (1) by Piyush Chand
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
Piyush Chand10.2K views
Bacchey kaam par ja rahe hain by Rajesh joshi by Purav77
Bacchey kaam par ja rahe hain by Rajesh joshi Bacchey kaam par ja rahe hain by Rajesh joshi
Bacchey kaam par ja rahe hain by Rajesh joshi
Purav7711K views
Appreciative Inquiry - An Overview by Sridharan Vembu
Appreciative Inquiry - An OverviewAppreciative Inquiry - An Overview
Appreciative Inquiry - An Overview
Sridharan Vembu205 views
Drivers, globalization of market, production, by Anmol Nekpuri
Drivers, globalization of market, production,Drivers, globalization of market, production,
Drivers, globalization of market, production,
Anmol Nekpuri68.5K views
Internet of things (IoT) by Ameer Sameer
Internet of things (IoT)Internet of things (IoT)
Internet of things (IoT)
Ameer Sameer2.6K views
2016 Handbook: Doing business in Germany by Accace
2016 Handbook: Doing business in Germany2016 Handbook: Doing business in Germany
2016 Handbook: Doing business in Germany
Accace195 views
Drivers & hurdles of globalization by Jay Savani
Drivers & hurdles of globalizationDrivers & hurdles of globalization
Drivers & hurdles of globalization
Jay Savani45.1K views

Similar to Internationalization Basics Webinar Slides

Globalization Testing for Cloud Products by
Globalization Testing for Cloud ProductsGlobalization Testing for Cloud Products
Globalization Testing for Cloud ProductsTechWell
162 views29 slides
Introduction to Internationalization (I18n) by
Introduction to Internationalization (I18n)Introduction to Internationalization (I18n)
Introduction to Internationalization (I18n)Lingoport (www.lingoport.com)
3.1K views30 slides
Sasaki webtechcon2010 by
Sasaki webtechcon2010Sasaki webtechcon2010
Sasaki webtechcon2010Felix Sasaki
622 views68 slides
Implementing Continuous Globalization in the Enterprise by
Implementing Continuous Globalization in the EnterpriseImplementing Continuous Globalization in the Enterprise
Implementing Continuous Globalization in the EnterpriseAdam Asnes
375 views30 slides
Adam Goucher I18n And L10n by
Adam Goucher   I18n And L10nAdam Goucher   I18n And L10n
Adam Goucher I18n And L10nAdam Goucher
1.4K views11 slides
Leading Globalized Software Effort: An Expert Discussion by
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLingoport (www.lingoport.com)
263 views1 slide

Similar to Internationalization Basics Webinar Slides(20)

Globalization Testing for Cloud Products by TechWell
Globalization Testing for Cloud ProductsGlobalization Testing for Cloud Products
Globalization Testing for Cloud Products
TechWell162 views
Sasaki webtechcon2010 by Felix Sasaki
Sasaki webtechcon2010Sasaki webtechcon2010
Sasaki webtechcon2010
Felix Sasaki622 views
Implementing Continuous Globalization in the Enterprise by Adam Asnes
Implementing Continuous Globalization in the EnterpriseImplementing Continuous Globalization in the Enterprise
Implementing Continuous Globalization in the Enterprise
Adam Asnes375 views
Adam Goucher I18n And L10n by Adam Goucher
Adam Goucher   I18n And L10nAdam Goucher   I18n And L10n
Adam Goucher I18n And L10n
Adam Goucher1.4K views
App localization in a new way by Transround
App localization in a new wayApp localization in a new way
App localization in a new way
Transround367 views
Resume_TRUONGBAPHUONG by Ba Phuong
Resume_TRUONGBAPHUONGResume_TRUONGBAPHUONG
Resume_TRUONGBAPHUONG
Ba Phuong391 views
Guide to Globalization, Internationalization, Localization & Translation by Neil Payne
Guide to Globalization, Internationalization, Localization & TranslationGuide to Globalization, Internationalization, Localization & Translation
Guide to Globalization, Internationalization, Localization & Translation
Neil Payne7.9K views
Go Global Fearless(I18N & L10N) by Venkat Rajesh
Go Global Fearless(I18N & L10N)Go Global Fearless(I18N & L10N)
Go Global Fearless(I18N & L10N)
Venkat Rajesh403 views
Globalize Software Products with Zero Investment by pjain65
Globalize Software Products with Zero InvestmentGlobalize Software Products with Zero Investment
Globalize Software Products with Zero Investment
pjain65247 views
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5 by Amanda Lam
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Amanda Lam1.6K views
DevCon Summit 2014: Trends in iOS Development by Allen Tan by DEVCON
DevCon Summit 2014: Trends in iOS Development by Allen TanDevCon Summit 2014: Trends in iOS Development by Allen Tan
DevCon Summit 2014: Trends in iOS Development by Allen Tan
DEVCON 696 views
Internationalizing a Complex B2B Application by bobdonaldson
Internationalizing a Complex B2B ApplicationInternationalizing a Complex B2B Application
Internationalizing a Complex B2B Application
bobdonaldson465 views
Baltimore GoLang - Software Engineer Career Motivation - JLEAPS! by Ari Waller
Baltimore GoLang - Software Engineer Career Motivation - JLEAPS! Baltimore GoLang - Software Engineer Career Motivation - JLEAPS!
Baltimore GoLang - Software Engineer Career Motivation - JLEAPS!
Ari Waller177 views

Recently uploaded

Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
12 views1 slide
Sprint 226 by
Sprint 226Sprint 226
Sprint 226ManageIQ
10 views18 slides
Dapr Unleashed: Accelerating Microservice Development by
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
12 views29 slides
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...sparkfabrik
8 views46 slides
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptxanimuscrm
15 views19 slides
Introduction to Git Source Control by
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source ControlJohn Valentino
6 views18 slides

Recently uploaded(20)

Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ10 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski12 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik8 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm15 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino6 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy14 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan6 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic14 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke35 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492143 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller42 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert26 views

Internationalization Basics Webinar Slides

  • 2. Agenda • Intro to Lingoport • Basic terminology and i18n concepts • Top 10 i18n issues • Continuous Globalization o Software Globalization & Development Cycles o Integrating i18n & L10n with sprints • ROI • Q&A, Follow-up Resources
  • 4. Lingoport Suite Painless support & actionable data to facilitate ongoing software internationalization and localization.
  • 5.  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
  • 6. g11n = i18n + L10n 6
  • 7. I18n Issues Overview What’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
  • 8. Top 10 i18n Issues ©Lingoport, Inc. 2013 - do not distribute 8
  • 9. #1 – Character Corruption  Some characters show up corrupted  文字化け: (mojibake) "character change" ©Lingoport, Inc. 2013 - do not distribute 9
  • 10. #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
  • 11. #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
  • 12. #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
  • 13. #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
  • 14. #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
  • 15. #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
  • 16. #8: Static File References  Showing or playing a file in the wrong language o Html Files o Videos o Images ©Lingoport, Inc. 2013 - do not distribute 16
  • 17. #9: Currencies  Currencies need special attention  Here, the currency symbol is wrong, which makes the result unusable ©Lingoport, Inc. 2013 - do not distribute 17
  • 18. #10: Understanding Usage Models  In the following link, an honest view as to why the initial QuickBooks introduction to Japan did not go well o http://www.inc.com/chris-beier-and-daniel-wolfman/intuit-quicken- scott-cook-global-expansion-failed.html ©Lingoport, Inc. 2013 - do not distribute 18
  • 19. 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
  • 20. Tackling i18n Projects  Determine the i18n requirements  Assess the situation o Architectural view o Code specifics  Come up with a plan, a budget, a time line o 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
  • 22. Defect costs per stage Traditional approach to SW Development in a well defined process When most i18n & L10n issues are addressed
  • 23. G11n & Agile i18n & L10n issues often Fall into backlogs
  • 25. 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
  • 26. • 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
  • 27. Questions & Answers: Contact Resources Adam Asnes CEO & President Lingoport, Inc. http://www.lingoport.com Lingoport Suite i18n e-learning i18n consulting • http://lingoport.com/blog • http://lingoport.com/resources • http://lingoport.com/products

Editor's Notes

  1. Globalyzer: Find and fix internationalization (i18n) issues that inhibit localization and global user experience during development. Catch up on i18n technical debt. Dashboard: The hub of our suite. See it all, drill down, create notifications and manage the process. Bridge gaps between localization & development. Increase visibility and track globalization metrics. LRM: Make localization proactive. Detect & manage changes to resource files in your source code. Streamline translation jobs. Automate localization updates between development and translation.
  2. Internationalization, commonly called i18n for short, is the process of making software code generic, or world-ready, so that it can be cost-effectively localized to a specific region or language. i18n is a software development task. It is not translation; it is a prerequisite for translation.   Localization is the process of adapting an application and related content to meet the linguistic and cultural requirements of a specific target market. One aspect of Localization is the translation of text into target languages, such as French, but this is not necessarily all. Globalization is the process of designing and developing a software product that functions in multiple countries and languages. You may hear the term NLS, or National Language Support, used for instance for Oracle products when describing internationalization APIs.   The focus for this session is internationalization. The primary target audience is software developers.  
  3. In general, the standard process for creating, globalized, world-ready software starts with internationalization, which includes software development techniques and best practices. This supports localization, which involves translation and customizing a product for a specific market after the software has been internationalized. Once fully internationalized, an application may be localized for many countries and languages without changes to the code.
  4. In this screenshot, the text entered by a user contains accented German characters. The application somehow mangles those accented characters and displays them as diamonds with question marks in the User Interface. Similar issues could arise with East Asian, Cyrillic, Arabic, or Korean characters.   This type of corruption can render an application unusable for certain markets.   In fact, there is a special word for this in Japanese: “mojibake.”
  5. Sometimes developers leave character strings embedded, or “hard-coded” in the source code.   In this example, an English string appears in an application running in German.   Whatever the user language, these hard-coded strings will remain in English.   Hard-coded strings can be show-stoppers that prevent the release of an application to international markets, or the software may be rejected by the users.
  6. In this application, a date object is displayed to the German user as if she were a U.S. English speaker: May 6, 2011. Incorrect date and time formatting are notorious i18n issues.
  7. Software developers sometimes take shortcuts when developing a non-internationalized application; those short-cuts can later lead to i18n issues. In this case, the application displays the database column names to make the SQL statement easier for the developer. In this example, the application displays checkbox labels using column names retrieved directly from a database. This means that regardless which language the user prefers, the checkbox labels will remain the same. This code will need to be reworked so that the labels can be displayed in the user’s language.
  8. Designing software without thinking about international markets can lead to re-writes later on.   In this example, the user can only interact with the application using an on-screen keyboard and the only keys available are ASCII. It is impossible for a Chinese user to enter text in her language or for a French user to enter accented characters. In other words, this application cannot work outside of an English speaking market. The i18n work will have to include replacing the on-screen keyboard.
  9. Emails must be carefully examined and may be unusable for international markets. Some email systems may use templates that support different languages, yet the application fails in setting the language for a recipient based on his or her profile. Sometimes, there is a mix of data in two or more languages. In this example, some of the email text is in U.S. English and some is in Japanese, which makes it difficult for both audiences.
  10. Numbers must be entered and displayed according to the user’s language and country. One issue is with the decimal separator, which can be a comma or a period depending on the country. In this example, the application fails to parse a number with a comma as the decimal separator. The French user entered “12-comma-50” and the application cannot continue.
  11. Applications can show html files or videos or images or even play audio files. Those files are static. They don’t do anything from a software perspective; they are simply shown or played. In this slide, the application shows a Japanese license agreement, which may not be helpful for an English speaking user. Another example is an audio file warning of a specific problem. If the audio file is played in Japanese, a U.S. user may not understand it. Choosing the wrong static file is a common i18n mistake.
  12. Currencies need special attention. Many problems can arise in this sensitive area. For instance, the wrong currency symbol may be used. In this example, the $ (dollar) sign is mixed up with the Japanese Yen currency symbol. The result is unusable. The format of the number could also be incorrect, leading to differences of thousands of dollars. Also, an amount displayed in Euro may first be recalculated based on an exchange rate; if it is not, the amount is wrong. Currencies are sensitive problems.
  13. Sometimes, more research into a country business habits is necessary. In this video, Scott Cook, CEO of Intuit, explains frankly why the Japanese version of QuickBooks was poorly received. The usage model of taxation in Japan is different from an accounting perspective; And the way the user’s work need to flow from one task to another is also different. Understanding usage models in different countries may have a strong impact on the overall software product design and acceptance.
  14. Some people may erroneously believe that programming in certain languages automatically implies internationalization. It does not.   Java and .NET, for instance, include extensive support for i18n. Yet, having an application written in Java or .NET does not necessarily mean it is internationalized.   In this short snippet of Java code, a name is correct if all the letters in the name are between ‘a’ and ‘z’. Entering the French accented character “é” fails.
  15. The best approach to internationalization begins with realizing that internationalization is part of software engineering and has a set of best practices and techniques.   To start, make sure you know the requirements.   These could include but not be limited to: the target countries; the desired languages; and the impacted areas of code.   One must also know what is not impacted, for example: the installation script for a web site may be out-of-scope.   Then assess the situation. Use products like Lingoport’s Globalyzer to check the code for possible i18n issues. An architectural understanding of the application is also typically needed for a proper i18n assessment.   Assessments should lead to planning i18n projects organized by individual software tasks, followed by budgeting the effort.   When the plan is approved, the i18n project can be staged like most software projects, from design to implementation to QA, with special attention to how L10n deliverables can be folded back into the application or how to best carry out specific i18n QA and linguistic testing.
  16. Some people will be focused on L10n some on i18n. Both are important! The logical flow is to make sure i18n is in line to support L10n Translation can be very integrated: i.e. client who integrates with WorldServer Can also integrate with your L10n Vendor’s portals, other translation systems like LingoTEK Back in to build with file quality checks. Gives you more time for staging QA.
  17. Implementing i18n as an afterthought, as opposed to addressing i18n upstream in the development cycle, typically leads to many iterative QA cycles that find defects needing correction by development. This leads to high costs and late delivery to markets, hence decreased or – in the best case - delayed revenues for the company. Some industry average numbers place the cost of i18n bug fixing to about $500, including finding the bug and logging it, managing the bug, fixing it in development, moving it back to QA, and finally verifying and closing it. Gary Lefman, a Cisco i18n specialist, summarizes this situation by stating that “Reactive internationalization is unpredictable and poorly controlled.” When trying to address more and more world-wide markets to increase revenues, organizations must optimize their processes by taking advantage of i18n products.