Slideshow transcript
Slide 1: I18N & L10N a technical primer Adam Goucher Senior Quality Specialist, Jonah Group http://www.jonahgroup.com http://adam.goucher.ca www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 2: Definitions Internationalization I + 18 chars + N I18N • Your application can accept, store, manipulate, retrieve and display text in the user’s native language Localization L + 10 chars + N L10N • Your application looks as if it was designed for the locale it is being used in www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 3: The Problem English is the native language of only ~ 30% of the Internet’s population. To not alienate the other 70% of your potential customers, you need to worry about I18N and L10N. www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 4: Don’t worry I18N and L10N are technical problems, not linguistic ones. Programmers and testers know how to solve technical problems. Translation is the linguistic problem. Translators know how to solve linguistic problems. www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 5: Unicode Unicode1 provides a unique number: • for every character • no matter what the platform • no matter what the program • no matter what the language There are a number of ways (called Encodings) to represent a Unicode code point (single character) • UTF-82 is an 8 bit, variable length encoding • UTF-8 is the de facto standard 1 http://www.unicode.org 2 http://en.wikipedia.org/wiki/UTF-8 www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 6: Resource Bundles One of the more difficult things to get right is all the string data embedded in your source code. The easiest solution here is to use resource bundles (locale specific collections of string data) www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 7: String Rules Like most tools, resource bundles can make your life difficult if not done correctly. • Do not build strings to display by concatenating strings. This increases translation difficulty by removing context • Include all punctuation in bundle content to avoid correct translation content, but incorrect punctuation • Include formatting in bundle content www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 8: Resource Bundle Tests • LOUD3 to check for string rules • Resource key not in code • Resource key in code, but not bundle • Key present (or missing) from different locales 3 http://adam.goucher.ca/?p=28 www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 9: Other areas I18N and L10N is a huge topic. Some of what has not been discussed: • Date / Time • Numbers • Currency • Username / Password conventions • Postal / Zip Codes • Paper size (when printing) www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 10: Testing Advice • Test your application’s I18N and L10N early to avoid having to re-test everything. • Include as many checks as possible during the build process • Beta test translations with friendly customers www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860
Slide 11: Summary • This is a technical problem, not a linguistic one • Use UTF-8 everywhere you can • Use resource bundles instead of putting literal strings in the code • Learn about the nuances of your target locales • Test early www.jonahgroup.com jonahinfo@jonahgroup.com(416) 304-0860




Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 0 (more)