Internationalization and Localization Support
Overview
i18n support with RubyMine falls into the following major aspects:
- Internationalization, which involves extracting strings out of your source code and presenting them as properties that are further referenced in the source code.
- Localization, which means translating these properties into the target languages.
Following the Rails i18n conventions, RubyMine stores dictionaries under the config\locales
directory of a project. However, you can configure additional directories, where dictionaries will be stored. This is done in the i18n Folders tab of the Project Structure.
There are two ways of representing dictionaries:
- YML files with locale record and key-value pairs.
- Ruby files with Ruby hashes.
The locale files are recognized as the properties files and are marked with icon. So doing, all locales are logically merged into a single dictionary.
i18n-related features
RubyMine provides helpful features that simplify working on software internationalization and localization issues. These features are:
- Dedicated storage location and automatic recognition of locales.
- Code inspections that help detect i18n-related issues.
- Quick fixes to extract hardcoded strings and create property keys.
- Code completion Ctrl+Space in
t()
method. - Navigation to declaration of a locale keyCtrl+B.