340 likes | 580 Views
Software Internationalization . By: Howie Ludewig. Contents. Introduction Terms and Definition Economics of I18n I18n Process New Software Developed Domestic Software Quality Assurance I18n Companies and Tools Conclusion. Introduction.
E N D
Software Internationalization By: Howie Ludewig
Contents • Introduction • Terms and Definition • Economics of I18n • I18n Process • New Software • Developed Domestic Software • Quality Assurance • I18n Companies and Tools • Conclusion
Introduction In economics, Internationalization has been viewed as a process of increasing involvement in international markets. In software this is accomplished by adapting computer software to different languages and regional differences.
Terms and Definition • Internationalization is often abbreviated as I18N because of the 18 letters between the start and end. It often used to describe the extension of software to include different things needed for each region you plan on selling your product to. • Localization or L10N is taking the larger software and focusing on the region version to make sure it maintains a domestic feel for the end user. • Globalization or G11N is the combination of the two
Economics of I18N cont. • IT has dropped 6.9% or 6 trillion dollars since 2008 • Largest decrease seen in IT ever • Expected to increase by the end of 2010 by 3.3% • Full recovery by 2012 • Most of the increase in spending will be into software. • “Hardware will not be in the IT driver’s seat anymore,” Peter Sondergaard, Senior Vice President of Research Content for Gartner.
Economics of I18n cont. • Considerations • Who is my target market? • Small internal software • Precise software without many other uses • Broad software • Ease of adaptability • Deadline to release software • Competition from other software • Certification for other regions
I18n Process • No set lifecycle, instead combined with most software lifecycles • Lifecycles that don’t combine well with software I18N • RAD • Agile • I18N can be best viewed as a large high-risk feature • Two different views to creating I18n software • Creating new software • Adding to existing software
New Software • Internationalization • Design • Implementation • Testing • Localization • Design • Implementation • Testing
I18n - Design • I18n requirements • Separate section from other requirements • Requirements should still be clear, precise, testable and maintain other traits of regular requirements • Requirements for each supported culture • Requirements for each feature determining how this will be accomplished • Ideally having a person with in-depth knowledge of each culture partaking in creation of requirements. • Write requirements for reusability when possible
I18n - Design • Cover how code will be separated from data • Resource files • Separate programs with data hardcoded • Combination • Cover risk for each feature/culture • Some might require only one or two requirements while other require whole sections • Understand all culture’s requirements and adhere to them
I18n - Implementation • All code must be written to meet both software requirements and I18N requirements. • Features must maintain a way of separating code from data. • Special consideration to what data is being entered and outputted – Magic numbers can cause wrong conversions • Graphical User Interfaces(GUI) will sometimes follow different rules then other features.
I18n – Implementation - GUI • Most of users time is spent on GUI, so creating different versions can make multilingual user interface(MUI) feel more localized. • Having many MUIs can cause for large increases in testing, so some might be combined if culture differences are smaller. • Features can know what numbers to use for conversions from the given MUI labels • Tradeoff between L10N and reusability
I18n - Testing • Separate testing • Does the feature do what it should • Does the feature do what it should for the given culture • Make sure it works right before you worry about each culture • If possible have someone with knowledge on the culture on the testing team • While the result might be considered correct it may be worded awkwardly or difficult to understand for the given culture
L18N - Considerations • L18N should be done alongside I18N when possible • Maintain level of risk determined ahead of time • Ideally create teams for each culture containing: • specialists in the culture • a developer involved in the I18N process
L10n - Design • Most important stage in dealing with the risks involved • L10N teams are put together • Resources are gathered • Alphabets (symbols, letters, number system) • Language dictionaries • Etc. • Like most new software being created more detailed requirements and risk analysis done in this stage the less problems will occur down the line
L10n – Design cont. • Requirements • Separate section from other requirements • Requirements should still be clear, precise, testable and maintain other traits of regular requirements • Cultural specifications should be documented here • Requirements for each feature and what will be needed for your region • Extra requirements should be added to particularly complex differences.
L10n - Implementation • L10N will create the data files needed for the software • Any change to data files or updates needed should be done by the regional team • Data files should be updated and returned in a timely manner so development and testing can use them • Heavy involvement in the MUI is greatly important, as it is what the user sees most and will have the greatest impact on if your product is cultural accepted
L10n - Testing • Focus directed towards your region • Make sure to test with the current revision of the core-libraries and features • Any bugs in features/core-libraries found need to be redirected to development team • Testing on cultural-dependent libraries • A bug will include: • Wrong format • Wrong Units • Awkward appearance or feel
Developed Domestic Software • Taking already developed domestic software and making I18N is a complicated process breaking it down into phases helps ease this. • The level of risk to reward can change drastically because the level of risk is greater and research into the rewards needs to be done • I18N phases • Preparing • Implementing • Testing
Preparing Domestic Software • Lock the source code completely during this phase • Prepare files for L10N • Research terminology for the region and develop a localized “Glossary” • Check and remove magic numbers • Identify what corrections will be needed in the GUI to make it compatible with your region • These will all be combined into a L10N kit that will be referenced through out the project and acts like the requirements phase of new software
L10N Kit • This kit will be used to help localize each section and should include: • The Glossary that was created • Source code • Reference materials • Style guide • Contact information for the region • The Review process • Schedule Tracking
Implementing Phase • This will largely consist of translating strings and changing the UI • Isolate translatable strings from the software and add them to your glossary which can be used as a reference file. • Allow for multiple formats, lengths, and other customizations that are needed • Keep your L10N kit up to date as much as possible • Check for the shortcut keys, tool-tips, menus, sorting, and possibly button pictures that will need to be adapted to what’s most common for the region you are localizing to.
Testing Phase • Testing should be kept separate from system testing. • Focus on testing the localized versions • If a test suite was kept from the domestic version this can be a great way to test that functionality was not lost. • Bugs can be identified the same as before if it doesn’t fit right it’s a bug even if the information is right • Experts in the region your testing for is a must for this phase
Quality Assurance • A quality assurance engineer has more to asses then would be needed in a domestic product. • Quality needs to be defined for each region • If your company is new to I18N market there is training and certification available for example: • The International Software Testing Qualifications Board (ISTQB) • Has two levels of certification: Foundation and Advanced • ISTQB develops and maintains internationaly uniform curricula and exams
I18N Company – Sisulizer • Visual Software Localization Tool • Scans for embedded strings and numbers • Works with .NET, C/C#/C++, VB, Java, HTML, and many others • Does simple translations without releasing source code to outsourcer • Scans code, translate and lets you build with new code already inserted.
I18n Company - Lingo Port • Created Globalyzer Software • Current release 3.0 • Contains Server, Client, Command Line software • Automatically scans for adapting Existing Code for: • Embedded Strings • Locale-Limiting methods • Unique programming patterns • Provides source control for finding, tracking and fixing I18N issues during development • Also offer evaluation, assessment, consulting, and outsourcing at additional costs.
I18N Company – RIC International • Offers focused translation for Technical subjects including: Aerospace & Defense, Chemicals, Healthcare, and energy • Has Quality Certification • ISO 9001:2000 compliant • ASTM std F 2575-o6 compliant • EN 15038 compliant • Can be very cost saving on highly technical projects with the benefit of having quality assurance.
Conclusion • Any software company wanting to remain in the completive world of software development at some point must begin to look at the global market. • Expanding your software to I18N can greatly increase profits if handled correctly. • Can work in with your companies already made software • Can be added to your companies already used lifecycle
References [1] International, Dr. (2002). Developing International Software. Redmond, WA: Microsoft Press.[2] Kersten, Gregory E.; MikKersten,; WojciechRakowski,. "Software and culture: beyond the internationalization of the interface. (Research Note)." Journal of Global Information Management. 2002. Retrieved March 26, 2010 from http://kerstens.org/mik/publications/softwareAndCulture-jgim2002.pdf[3] RIC International Inc. 1999-2006. Software Localization Process Outline. Retrieved March 26, 2010 from http://www.ricintl.com/software-localization-services.html[4]Internationalization: Pertaining to C++. Retrieved March 26, 2010 fromhttp://h30097.www3.hp.com/cplus/intzln.pdf[5]History Status of ISTQB Syllabi. Retrieved March 26, 2010 fromhttp://www.istqb.org/members.htm[6]AdMob Mobile Metrics “Our Insights on the Mobile Ecosystem” March 25, 2010. Retrieved March 26, 2010 fromhttp://metrics.admob.com/[7]Gantner Newsroom “Spending to rebound in 2010” October 18, 2009 Retrieved March 26, 2010 from http://www.gartner.com/it/page.jsp?id=1209913