LocWorld: Building an Internationalization Plan; October 2011
Creating a Plan forInternationalization andLocalizationTuesday, October 10, 2011Adam Asnes Kent GraveCEO, Lingoport Localization Manageradam@lingoport.com Cisco Systems@adamasnes
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 • During development – $100’s of thousands – Incidental, but still real and more for serious costs applications – Processes – Must revisit existing – Forethought code – Requirements – Months to years delay – 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
Assessment and Plan Building• What’s in code • What’s not in code – Strings – Requirements – Locale-unsafe – Locale Handling functions/methods – Data operations – Programming Patterns – Database schema – Static References
Traditional Approach - repeat, and repeat, and repeat, and repeat Localize and see what you’re missing Ad-hoc scripts, Test, Pseudo-Localize overwhelm developers View pages. Pore over Externalize and refactor code for strings, one by one methods, etc.
Maintenance of the i18n Process Maintenance of the i18n Process STRING IDENTIFICATION QA Engineering Pseudo-Localization Go through QA report Going through each screen Sift through code to find non-Identify which string is pseudo- externalized strings localized Report back to QA Report back to engineering LOCALE SENSITIVE METHOD IDENTIFICATION QA EngineeringGo through each screen,file, report, checking for: Go through QA reportCharacter operation Sift through code to find OriginCollation of issueConversion Report back to QA,Date/Time managementFile & PathLocale and Character set 2 weeksNumber Format GLOBALYZER SCANS AND AutomatedProcess control functions REPORTINGString operations Scan, report & distribute GENERAL PATTERNS QA Engineering Go through QA report Sift through code to find OriginGo through each screen, of issuefile, report, checking for: Report back to QA, Font management Characters Database patterns STATIC FILE REFERENCES QA Engineering Go through QA report Go through each screen, Sift through code to find Origin file, report, checking for: of issue video Report back to QA, images management contracts html configuration files
Globalyzer Server and Clients ServerClient Command Line
Create a Plan• Tasks• Schedule• Staffing• Costs• Requirements doc, assessment or best practices are not a plan
Teams Are Small and Distributed Source: Antelink software development survey, antelink.com
Organizational Perceptions of G11n Developers: L10n Managers: •Straightforward, simple, •Issues come up with handled every release •Tier 3 bugs, at best •Tier 1,2 &3 bugs •Features come first •Not enough support •Not enough time 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” - Xerox30 x Architecture and Design Acceptance15 x Requirements7x Testing Maintenance Localization Coding4x2x Development Phase when an I18N bug is detected
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 Resources firstname.lastname@example.org http://www.lingoport.com Twitter: @adamasnes Globalyzer Kent Grave http://www.globalyzer.com Cisco Systems Blog http://i18nblog.com •Contact us for a detailed individual presentation, or i18n needs discussion •Try Globalyzer at http://globalyzer.com
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.