Upload
kerry-gordon
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
LingoPort, Inc.1734 Sumac AvenueBoulder, ColoradoUSA 80204+1 303 444 8020www.lingoport.com
Wednesday, April 19, 2023
Technologies for Global eBusiness
Jason Hall and Adam Asnes
Internationalization Assessment and Execution:
How Do You Get There From Here?
LingoPort, Inc.
• Internationalization Focused– Internationalization consulting– Software solutions
• Global Investigator• String Externalization tools• Pseudo Judo
• All localization through partners
Jason Hall
Globalization Design Specialist
Experience:• Over 15 internationalization assessments• Wide variety of technologies and domains• Project planning and process consulting
How Do You Get There From Here?
• Decision Pathways– Customer Driven– Internally Identified
Opportunities– Other?
• Keys to Success– Proper Planning– Training
• I18n Only Once– High initial cost– Lowest cost in long run
• I18n Process– Planning– Marketing Requirements
Analysis– Architectural Requirements
Analysis– Code Review– I18n Design– I18n Execution– Testing– Localization– Support
Marketing Requirements
• Case Study: XYZ Software– VP: “XYZ Software must be in Japanese, French,
Germany, Chinese, and Spanish by November”• Three-tiered web application• 100,000 Lines Java/JSP• Oracle DB• Crystal Reports
– Where do you start?
Marketing Requirements cont.
• First, analyze the locales– Locale vs. Language– Simultaneous Locale Support?– User levels: Administrator vs. Regular User– Rule of thumb: Match locales with character sets; the
more characters, the more difficult I18n!
• Key Product Launch Dates– Any flexibility?– Drivers and stakeholders
Marketing Requirements cont.
• Concurrent Development– Watch out for code forks!– Resource availability
• Product Support Channels– Foreign language support calls– New product sales– Minimum Technology Requirements– Target Customers
• Understand Your Target Cultures
Marketing Requirements Summary• Visualize Product from:
– Customer Experience/Usability– Sales/Support Channels
• Compile Locales – Develop list of required features
• GUI• Character Sets• Additional Features• Legal• Cultural• Currency
• Marketing Requirements Specification
Marketing Analysis Case Study
• XYZ Software– Phased Rollout
• Phase 1: Spain, Germany, France, Mexico, Peru• Phase 2: Japan, China
– One server farm in US, single database– Foreign partners for sales/support channels– Must support IE 5.0+– All resources dedicated to I18n
Architectural Analysis
Database Application
3rd Party Products
U/I
Business Logic
Platforms, Browser Support Requirements
Architectural Analysis Cont.
• Analyze each technology– Character set compliance
• Match with supported locales!
– Programmatic locale• Organic or New Feature?
– Dependencies• Fonts• Service Packs• Libraries
– Third Party Products
Architectural Analysis Summary
• Gather research and recreate architecture• Character tracking
– From GUI to DB and back– Analyze each technology boundary
• User locale tracking– Critical for GUI formatting/display, data storage– Database vs. Dynamic
• I18n Architectural Document
Architectural Analysis: Case Study
• XYZ Software– JSP/Java/Oracle to support Unicode
– GUI formatting per locale – locale switching– Locale tracked by Java’s LOCALE object
• Extracted from browser at runtime
– Oracle to accommodate dynamic locale switching– Crystal Reports only localizable: research alternative
strategy
Browser(Native)
Java(UTF-16)
Oracle(UTF-8)
Code Review and i18n Reengineering
– Code Review to Identify:• Unsafe methods/functions• Strings to extract• Image references• Unsafe programming constructs (ex: regular expressions)
– How to Identify?• Brute force • I18n-aware software tool
– Global Investigator
Code Review Considerations
• Strings• Dates• Times• Sorting & searching• Currency• Transaction process• Disparate offerings• Character set
conversions
• Telephone formats• Postal formats• Region-specific functions• Shipping conditions• Numerical formats• Page layout• Reporting, workflow• Database enabling• Multi-byte enabling
Code Review Examples – Detailed Reporting
Configure – Add Functions/Filter False Positives
Code Review and i18n Reengineering Cont.
– Develop I18n enhancements (example)• Locale-chooser• Other based upon Architectural Analysis (Currency, etc.)
– I18n Reengineering• Extract strings• Fix Unsafe Methods
– Internal Resources vs. Outsourcing • Internal: Retain new knowledge, understand system, but loss
of normal development cycles• Outsourced: Knowledgeable about I18n, rapid execution, but
must transfer knowledge to existing team/learn system
Code Review and I18n Development: Case Study
– XYZ Software• Internationalized Software• Pseudolocalization Testing• Unit/Regression Testing• Localization Kits
CurrentSource Code
Locale NeutralSource Code
en_US
en_US en_SP
Testing and Deployment
– Pseudolocalization Testing Before• UserNameLabel=Username• SomeMessage=The quick brown fox jumps over the lazy dog.
– Pseudolocalization Testing After • UserNameLabel=捗 XXUsernameXX捗SomeMessage=捗 XXXXXXXXXXXXThe quick brown fox jumps over the lazy dog.XXXXXXXXXXXX捗
– Tests character set handling and size expansion• LingoPort’s Pseudo Judo
Testing and Deployment
– Pseudolocalization Example:
Testing and Deployment Cont.– Regression Testing– Localization Testing
• Test with all possible combinations!– Languages AND platforms
– Deployment• Case Study: XYZ Software
– Phased approach: partner channels developed– Online documentation translated into targets– Deployment team training/foreign counterparts– Go Live
• Packaging/Documentation• Professional Services Training
I18n As An Ongoing Process
– Pervasive influence on entire organization• Paradigm shift: not US-Centric!• I18n Coding Standards
– Quality Assurance
– I18n software lifecycle tools: Global Investigator
– Avoid code forks• New features with international focus to launch in ALL
locales
– Relationship with Localization partner
Questions and Answers
– For a beta trial of Global Investigator visit:• http://www.lingoport.com/public/demo• or email [email protected]
– Contact Adam for a copy of this presentation
– Thank you for your time and attention!