Adam Goucher I18n And L10n

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Adam Goucher I18n And L10n - Presentation Transcript

    1. I18N & L10N a technical primer Adam Goucher Senior Quality Specialist, Jonah Group http://www.jonahgroup.com http://adam.goucher.ca
    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
    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.
    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.
    5. Unicode
      • Unicode 1 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-8 2 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
    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)
    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
    8. Resource Bundle Tests
      • LOUD 3 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
    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)
    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
    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

    + Adam GoucherAdam Goucher, 3 years ago

    custom

    1135 views, 0 favs, 2 embeds more stats

    Slides from my recent presentation on I18N and L10N more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1135
      • 1081 on SlideShare
      • 54 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 27
    Most viewed embeds
    • 53 views on http://adam.goucher.ca
    • 1 views on http://www.adam.goucher.ca

    more

    All embeds
    • 53 views on http://adam.goucher.ca
    • 1 views on http://www.adam.goucher.ca

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories