Post on 09-Oct-2020
transcript
Creating a Plan for
Internationalization and
Localization
Tuesday, October 10, 2011
Adam Asnes
CEO, Lingoport
adam@lingoport.com
@adamasnes
Kent Grave
Localization Manager
Cisco Systems
Lingoport
• Internationalization Services – Assessment
– Project planning
– I18n development
– I18n testing
– Localization integration
• Globalyzer – Internationalization software
• Find and fix i18n issues in code
• Support developer teams
Globalization
• Globalization (g11n) has two components :
– Internationalization (i18n) : software engineering to
enable localization – Global Scalability
– Localization (L10n): culture specific resources
(translation, etc.) – Market Specificity
Nobody Globalizes Just Cause It’s Cool
• We love revisiting code we’ve already developed
and paying tons of money to translators!
• Distracting from “Real Work”
Developers: Is It Internationalized?
• Most don’t know the answer
• Developers often underestimate i18n
requirements
– Just string externalization, right?
• 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
Organization Issues
• Lots to lose in time, revenue, costs, user
experience and product acceptance when code
isn’t well internationalized
• Few systematic tools and support for global-
ready software development & Localization
• Development moves fast, teams can be diverse
– Got Agile?
• Poor understanding of requirements
Internationalization is Expensive!
• After development
– $100’s of thousands
and more for serious
applications
– Must revisit existing
code
– Months to years delay
• During development
– Incidental, but still real
costs
– Processes
– Forethought
– Requirements
– Measurement
Sobering Experience
• 1 million line app?
– $500K+ dev 18n costs PLUS localization
– 6 months? Much more? Big delays?
• When presented with i18n costs, timeframes,
risk
– Many projects die
– Many postponed
– Some companies fade away
GETTING ORGANIZED
Creating an actionable plan
Assessment and Plan Building
• What’s in code
– Strings
– Locale-unsafe
functions/methods
– Programming Patterns
– Static References
• What’s not in code
– Requirements
– Locale Handling
– Data operations
– Database schema
Traditional Approach - repeat, and repeat, and repeat, and repeat
Localize and see what you’re missing
Ad-hoc scripts, overwhelm developers
View pages. Pore over code for strings, methods, etc.
Externalize and refactor one by one
Test, Pseudo-Localize
Maintenance of the i18n ProcessMaintenance of the i18n Process
STRING IDENTIFICATION
Pseudo-LocalizationGoing through each screen
Identify which string is pseudo-localized
Report back to engineering
Go through QA reportSift through code to find non-
externalized stringsReport back to QA
GLOBALYZER SCANS AND REPORTING
Scan, report & distribute
QA Engineering
LOCALE SENSITIVE METHOD IDENTIFICATION
Go through each screen, file, report, checking for: Character operation Collation Conversion Date/Time File & Path Locale and Character set Number Format Process control functions String operations
Go through QA reportSift through code to find Origin
of issueReport back to QA,
management
QA Engineering
GENERAL PATTERNS
Go through each screen, file, report, checking for: Font Characters Database patterns
Go through QA reportSift through code to find Origin
of issueReport back to QA,
management
QA Engineering
STATIC FILE REFERENCES
Go through each screen, file, report, checking for: video images contracts html configuration files
Go through QA reportSift through code to find Origin
of issueReport back to QA,
management
QA Engineering
Automated
2 weeks
Globalyzer Server and Clients
Server
Client Command Line
Create a Plan
• Tasks
• Schedule
• Staffing
• Costs
• Requirements doc, assessment or best practices
are not a plan
ONGOING
GLOBALIZATION
Teams Are Small and Distributed
Source: Antelink software development survey,
antelink.com
Organizational Perceptions of G11n
Developers:
•Straightforward, simple,
handled
•Tier 3 bugs, at best
•Features come first
•Not enough time
L10n Managers:
•Issues come up with
every release
•Tier 1,2 &3 bugs
•Not enough support
from dev.
•No way to verify until
localization
•Lack deep knowledge
of code
Business Managers:
•Sales/biz expectations
•Time to market
•Over budget and late
Ongoing i18n
• Make measuring i18n part of an ongoing
process, like a nightly build
• Regular requirement for development – part of
every cycle, agile or otherwise
• Build an i18n testing strategy that leverages
Localization testing as well.
– Pseudo-locales
Catch Bugs Early!
Source: “Software Internationalization Tools and Solutions” - Xerox
Ma
inte
nance
Loca
liza
tio
n
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
Ongoing Globalization
• Focus on leveraging expertise
– Tools help you scale
– Staff experts
– Training
– Keep repeating the globalization value message
– Get help repeating the message
– Fight Entropy!
Questions & Answers
Adam Asnes
adam@lingoport.com
Twitter: @adamasnes
Kent Grave
Cisco Systems
Resources
http://www.lingoport.com
Globalyzer
http://www.globalyzer.com
Blog
http://i18nblog.com
•Contact us for a detailed individual presentation, or i18n needs discussion
•Try Globalyzer at http://globalyzer.com