adam asnes +1.303.444 - lingoport · 2009. 2. 9. · lingoport •internationalization services...
TRANSCRIPT
![Page 2: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/2.jpg)
Engineering for Locale Support
• Globalization (g11n) has two components :
– Internationalization (i18n) : software engineering to
enable localization
– Localization (L10n): culture specific resources
(translation, etc.)
![Page 3: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/3.jpg)
Lingoport
• Internationalization Services
– Assessment
– Project planning
– I18n development
– I18n testing
– Localization integration
• Globalyzer
– Internationalization software
• Find and fix i18n issues in code
![Page 4: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/4.jpg)
I18n is Business Driven
• Global initiatives
– Expanding opportunities, New customers
• Competitive pressure
• Lost time to market
• Iterative code fixing, problems keep slipping
through
• Development costs in the hundreds of
thousands to millions of dollars
![Page 5: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/5.jpg)
I18n Needs: Stakeholders
Our Software must be in
Japanese, French,
German, Chinese, and
Spanish by November
Multi-tiered application?
String extraction?
Database components?
Unicode?
Testing Plan?
![Page 6: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/6.jpg)
Engineering:
Localization is a Downstream Concern
• “Somebody else’s problem” in the world of many
developers
• Creates an opportunity to educate and shepherd
teams through globalization
![Page 7: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/7.jpg)
Is It Internationalized?
• Typically underestimate i18n requirements
• Most don’t know the answer
• Agile or other feature and release requirements
often overrun less formally measured i18n
requirements
• There is a Management Value in being able to
confirm global readiness
![Page 8: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/8.jpg)
Internationalization Challenge
• Software Data Path - it’s not just the display
Display Input Transform
Store
Retrieve Transform
![Page 9: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/9.jpg)
I18n Architectural Challenge
Database Character
encoding
support
Application Code
e.g. Java, C++, VB
3rd Party Products
U/I
e.g. JSP,
ASP, ASPX
Business Logic
Platforms, Browser Support Requirements
Marketing Requirements Locale behavior
![Page 10: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/10.jpg)
I18n trouble spots – developer’s challenge
• Embedded Text &
images
• Character set support
• String Concatenation
• Date/time formatting
• Sorting & searching
• Currency
• Transaction process
• User Locale Handling
• Telephone formats
• Postal formats
• Region-specific functions
• Shipping conditions
• Numerical formats
• Page layout
• Reporting, workflow
• Database enabling
• Multi-byte enabling
![Page 11: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/11.jpg)
Practical Challenges
• Sift through hundreds of thousands or millions of
lines of code
• Managing fixing complex problems
• Creating a product that looks, feels and behaves
natively to its worldwide users
• Source code must be adapted to seamlessly
adapt to any language, streamlining support and
updates
![Page 12: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/12.jpg)
Operational Challenges
• Ongoing development
– Agile?
– Code Branching?
– Multiple teams?
![Page 13: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/13.jpg)
Traditional Approach - repeat, and repeat, and repeat, and repeat
Localize and see what you’re missing
GREP, overwhelm developers
View pages. Pour through code for strings,
methods, etc.
Externalize and refactor one by one
Test, Pseudo-Localize
![Page 14: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/14.jpg)
Globalyzer Server and Clients
Server
Client Command Line
![Page 15: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/15.jpg)
Sample Internationalization Issues
![Page 16: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/16.jpg)
Example: Hard-Coded English Text
1 million lines of source code Typically Found:
At least 40,000 Embedded Strings which cannot be efficiently translated
String orderStatus = “Your order has been
processed. A confirmation e-mail will be
sent to you shortly.”;
![Page 17: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/17.jpg)
Sample Code (Java)
![Page 18: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/18.jpg)
Example: Encoding Corruption
Attempted to add a Chinese Unit Name via an example ASP page
![Page 19: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/19.jpg)
Release Path
• Internationalization,
1st Time
– Most of U/I
– Breaks the DB
– Data I/O
– Test entire product
• Feature Release
– 3 week sprint?
– Focus on code subset
– Concentrated testing
• Static analysis with
Globalyzer
Code branch, merge,
testing strategy
![Page 20: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/20.jpg)
Catch Bugs Early!
Source: “Software Internationalization Tools and Solutions” - Xerox
Main
tenance
Localiz
ation
Testing
Codin
g
Arc
hitectu
re a
nd D
esig
n
Requirem
ents
30 x
15 x
7 x
4 x
2 x
Development Phase when an I18N bug is detected
Accepta
nce
![Page 21: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/21.jpg)
Cost of i18n Bugs
• Cisco
– Most bugs found during L10n testing are i18n related
– Cost to fix
• After release and localization - $3500 per bug
• Before in testing - $200
![Page 22: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/22.jpg)
Resource Hours per I18N bug
Avg # bugs per release
Avg product releases/yr
Avg Cost per hour
Cost
L10N Vendor
QA 1 25 60 55 82,500
L10N PM 1 25 60 45 67,500
L10N QA 2 25 60 45 135,000
Core QA 2 25 60 45 135,000
Core Eng 4 25 60 57 342,000
Total Cost/Yr
$762,000
Product I18N bug count
Release :
A 27
B 1
C 15
D 2
E 8
F 3
G 5
H 8
I 34
J 31
K 6
L 0
M 0
N 49
O 85
P 140
Q 46
• When I18N issues are discovered during L10N
testing, time is spent by 5 different groups of workers
•If we avoided I18N errors, we could save $762K /yr
•If we caught I18N errors at the source, we could save
$420K/yr
Cost of Fixing I18N Issues During Localization
![Page 23: Adam Asnes +1.303.444 - Lingoport · 2009. 2. 9. · Lingoport •Internationalization Services –Assessment –Project planning –I18n development –I18n testing –Localization](https://reader033.vdocuments.us/reader033/viewer/2022052022/6037478adfc81d57e650c076/html5/thumbnails/23.jpg)
Questions and Answers
Adam Asnes
Resources
www.lingoport.com
Whitepapers, newsletter & articles
http://i18nblog.com
You never stop internationalizing