Internationalization and localization are two of the most important concepts in building a global app. In this blog post, we will discuss how to internationalize and localize your Rails application from default English into any other language you desire! Rails i18n!
Internationalization & Localization Strategy
Internationalizing your application consists of extracting bits (strings, dates, currencies) out and providing proper translations to them. This second process is called localization and is shortened to l10n. In order for the app to be later localized into other languages, it needs a translation on every element of the app that needs to be translated.
Translating your Rails application is not as complicated as it might seem, and there are plenty of tools available for doing so. One of these is Transifex, a free translation service which lets you manage translations on different languages in one place. You can register your app on Transifex, and then paste the translation strings that you want to translate into their fields.
In order for an application to be translated properly it is important that translators have access to all of its assets such as images, videos, text documents and any other type of file which may need translating. Translators usually work in groups and need to be able to access files easily, so we recommend using Dropbox or Google Drive for this purpose.
Translation Management with Transifex
In order to translate your Rails application automatically into other languages, you will need translation scripts which are available as plugins from the rails_i18n gem. This plugin will take care of extracting all strings, dates and currencies from your application and translating them into the desired language. This can be done by adding a new file to the config/initializers directory with the name of your app and using it for translating all strings.
- Reach new markets without having to rework the app.
- Be able to use and sell products/services in local languages, making you seem like someone who cares about their customers’ language needs.
- Localizing your app will also provide you with a world of new customers who can’t read or speak English.
- You’ll be able to tap into the ever growing market for apps and software in foreign languages.
There are many benefits of internationalizing your app but one downside to this is the eventual need to fix defects in them. One of the main issues that occurs when internationalizing an app is that you will begin to see a lot more crashes as texts are translated and it’s not always possible to translate all strings. This can cause the app to crash, which means that tackling these defects before they happen with some proactive testing and error analysis would be a wise choice.
Internationalizing and localizing your Rails application is an important