Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Finding Translations: Localization and Internationalization in Rails


Published on

Pitfalls and best practices for localizing apps.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Finding Translations: Localization and Internationalization in Rails

  1. 1. @valeriecodes Finding Translations Adventures in localization and internationalization
  2. 2. @valeriecodes Defining our terms Localization - the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text Internationalization- the process of designing a software application so that it can potentially be adapted to various languages and regions without engineering changes Thanks, Wikipedia!
  3. 3. @valeriecodes In plain English Translating (and getting ready to translate) your app.
  4. 4. @valeriecodes What is translation? Language-English to French, French to Arabic, English to German, Swahili to Esperanto, Spanish to Cantonese Cultural-British to American, Portuguese to Brazilian, Canadian to Australian Register-Formal to informal, professional to Twitter, AP style to MLA style
  5. 5. @valeriecodes Who Am I? 24601 Valerie Woolard @valeriecodes Rails developer at Panoply Interests in linguistics, translation, and language Past life as a French major
  6. 6. @valeriecodes So you want to localize your app...
  7. 7. @valeriecodes When should you think about localization? Now. Think about your app and its possible audience. If your set of possible users is not a subset of “US-based English speakers,” localization is something that should be on your radar.
  8. 8. @valeriecodes When should you internationalize? Before you need to. (Now.) Don’t hard code strings into your views, use keys!
  9. 9. @valeriecodes Rails localization conventions Guide: Translate vs. localize .yml files everywhere There’s a lot built in for you
  10. 10. @valeriecodes But this gets annoying fast
  11. 11. @valeriecodes There’s a gem for that rails-i18n Localeapp Globalize Geocoder i18n-tasks
  12. 12. @valeriecodes Redis-based solution Other possible database backends?
  13. 13. @valeriecodes Or just edit the YML The usual way Or in a graphical YML editor
  14. 14. @valeriecodes Things to consider What needs to be translated? Page titles? Model attributes? Large blocks of text? Lots of strings? Special characters? Who is translating it and what tools do they need? Contextual information
  15. 15. @valeriecodes Here be dragons
  16. 16. @valeriecodes The parade of foolish assumptions
  17. 17. @valeriecodes Fragments can be translated with accuracy
  18. 18. @valeriecodes Pluralization works the same in other languages More on pluralization rules:
  19. 19. @valeriecodes Other languages use the same level of specificity
  20. 20. @valeriecodes A message can be conveyed in another language in the same space
  21. 21. @valeriecodes The flow of text will always be left-to-right Left-to-right/Right-to-left
  22. 22. @valeriecodes The character set will always be the Roman alphabet
  23. 23. @valeriecodes Holy merge conflicts, Batman!
  24. 24. @valeriecodes But how does your app translate? Think about cultural and legal implications and differences when choosing how to localize and what countries and languages to localize for Privacy Legal issues Cultural differences
  25. 25. @valeriecodes Key takeaways Think about localization now Your translators should have a good understanding of your app Translation is hard Know your audience
  26. 26. @valeriecodes Questions?
  27. 27. @valeriecodes Get in touch! Github: valeriecodes Twitter: @valeriecodes