Creating multillingual apps for android

2,151 views

Published on

Introduction to App L10N concepts and instructions on how to localize an Android applciation

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,151
On SlideShare
0
From Embeds
0
Number of Embeds
353
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Creating multillingual apps for android

  1. 1. @sergiandreplace Tweet about it: #bcngtug
  2. 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. 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!
  4. 4. @sergiandreplace Tweet about it: #bcngtug
  5. 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. 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. 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. 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
  9. 9. @sergiandreplace Tweet about it: #bcngtug
  10. 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. 11. @sergiandreplace Tweet about it: #bcngtug Creating multillingual Android applications Product Software (UI) Help (UA) Web content Documentation
  12. 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. 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. 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
  15. 15. @sergiandreplace Tweet about it: #bcngtug Creating multillingual Android applications • CAT (Computer Aided Translation): – SDL Trados Studio / SDL Passolo (doc/sw) – Across (doc) – Alchemy Catalyst (sw) – Start Transit (doc/sw) – Customer propietary tools – Etc (very big list)
  16. 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. 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…
  18. 18. @sergiandreplace Tweet about it: #bcngtug Creating multillingual Android applications • myGengo • Proz • Localization vendors: – Logoscript – Lionbridge – WiiPro – Etc.
  19. 19. @sergiandreplace Tweet about it: #bcngtug
  20. 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. 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. 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
  23. 23. @sergiandreplace Tweet about it: #bcngtug Creating multillingual Android applications
  24. 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. 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. 26. @sergiandreplace Tweet about it: #bcngtug Creating multillingual Android applications • Setting a locale (per Activity!)
  27. 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!
  28. 28. @sergiandreplace Tweet about it: #bcngtug
  29. 29. @sergiandreplace Tweet about it: #bcngtug Creating multillingual Android applications • Upload a strings xml to myGengo • Translate • Update • Generat
  30. 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.

×