2. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Working in localization for more than 10 years
• Several multillingual projects for big sw
companies like SAP, Microsoft, CA, etc…
• Some more years of experience in development
• Exploring everything related to Android and other
mobile platforms in the last months.
3. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Going global: some definitions
• What’s localization: more definitions. But more
specific this time
• Android 18N + L10N: how to proceed with the
apps.
• Hands-on!
5. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Globalization (G11N)
To plan the design and development methods for a product in advance, keeping in mind
a multicultural audience
• Internationalization (I18N)
Encompasses the planning and preparation stages for a product that is built by design to
support global markets.
• Localization (L10N)
Adaptation of the product for a specific market
"What is Globalization?". LISA. Romainmôtier, Switzerland: Localization Industry
Standards Association. Retrieved 6 September 2010.
6. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
The product
Product
design
Product
Development
Product
testing and
(QA)
Product
localisation
Local product
testing and
(QA)
Local product
marketing
Phase 2 - Localization Phase 1 - Internationalization
7. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• No general agreement
• Translation is a one-direction process
• Localization is evolving with the product
• Localization includes other elements:
– Graphics, colors, CSS, etc.
– Currencies, dates and other country-specific formats
– Etc.
8. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
Language family ISO 639-1 Language variant
English
en-GB British English
en-US American English
en-CA Canadian English
Spanish
es-ES Spanish as written and spoken in Spain)
es-MX Mexican Spanish
es-AR Argentine Spanish
Catalan ca-ES Catalan as written and spoken in Spain
Portugese
pt-PT Portuguese as written and spoken in Portugal
pt-BR Brazilian Portugese
Chinese
zh-CN Mainland China, simplified characters
zh-TW Taiwan, traditional characters
zh-HK Hong Kong, traditional characters
10. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Translation: by translator or specialist? Or
Machine Translation?
• Review: what kind of review? Linguistic?
Technical? How many?
• DTP
• Engineering
• Testing
11. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
Product
Software (UI)
Help (UA) Web content
Documentation
12. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• For software: xml, resource files, string files, etc.
• For help: xml, html, sgml, Word, etc
• For web: xml, html, etc
• For documentation: sgml, Word, authoring tools
(FM, InDesign, etc.)
• For graphics: psd, jpg/png/gif/bmp/tif/etc
13. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• For software: Excel, csv
• For help: wiki, txt files
• For web: url
• For documentation: fax, scan.
• For graphics: embedded graphics
14. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Filters: transform formats into black box
• Translation Memory: a database of billingual
pairs
• Glossary: a list of term translations for reference
(plust meta-information like definitions, terms,
etc).
• Machine translation: a sw with ability to translate
16. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Omega T:
Existing for years, but missing some «professionality»
• myGengo String
New players, missing key elements, but very promising.
Very good for Android.
• Google translator toolkit
They understand the bussines. Very good system, but,
do not support xml.
17. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Machine Translation: it’s a reality! It came to stay!
A lot of misconcepctions and false myths!
• Crowdsourcing translation: Facebook case vs.
Linkedin case
• Open Source is starting to increase…
20. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
1. Indentify localizable items (images, text, etc) and
target languages
2. Separate from code
3. Perform «abstracted» development
4. Translate!
5. Integrate languages
21. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• All localizable elements should be out-of-code
• Resource folders preffix containing:
– Images
– Layouts
– Strings!
22. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• A suffix indicates folder
specialization
• It can be combined with
other elements
(orientation, density,
screen size, etc…)
• Distinguish between
language and region
24. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Language has precedence over all suffixes EXCEPT
MCC and MNC (mobile country code and mobile
network code).
• ALWAYS include default resources
• KISS (Keep It Simple, Stupid)
• For flavors, just include “different” strings
• Are you using TTS?
25. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Java: R class (R.resource_type.resource_name)
R.drawable.app_icon
• XML: @type/resource
• To get the locale:
context.getResources().getConfiguration().locale.getDisplayName();
26. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Setting a locale (per Activity!)
27. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Do not use flags! They always offend somebody.
• Evaluate the need for translation. Maybe is better
to improve usability
• Be politically correct! Gender, social class, etc.
• Quality, quality, quality… and quality!
29. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• Upload a strings xml to myGengo
• Translate
• Update
• Generat
30. @sergiandreplace Tweet about it: #bcngtug
Creating multillingual Android applications
• We are finished. Do you have any question?
• You can contact me, don’t be shy:
Mail: sergi@sergiandreplace.com
Twitter: @sergiandreplace
Website: http://sergiandreplace.com
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter
to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.