Internationalization (I18N Support)
The internationalization (I18N) support provides multiple important features that simplify working on software internationalization and localization issues. To get a general overview of I18N/L10N support in IntelliJ IDEA, please see Live demo
Properties files editor
Advanced editing operations are available because of .properties files support in IntelliJ IDEA. IntelliJ IDEA recognizes the most common properties syntax: key — delimiter — value
Auto-detect resource bundles
Once you create several .properties files with the same name, differing by locale suffix, IntelliJ IDEA will automatically detect and virtually group them in the Project view into a Resource Bundle.
Resource Bundle editor
The Resource Bundle editor allows to edit an entire set of property files at a time. You do not need to list all property keys in every file of the bundle. You just open the bundle, by pressing F4 on its node in the Project view, and edit all national values at a time. IntelliJ IDEA will take care of creating necessary records in all files. It will also red-highlight properties that are missing values for some languages. As soon as you enter a new string, the key — value pair will be added automatically to the corresponding file.
Resource properties completion
IntelliJ IDEA's famous code completion (Ctrl + Space) also works within String literals for completing property keys from the loaded resource bundles. This feature is a real time-saver when dealing with internationalization of applications.
I18N inspections and intention actions
IntelliJ IDEA provides advanced code inspections that allow you to quickly examine different internationalization issues in your project. They help you to locate hard-coded String literals, concatenated strings, incorrect calls of the toString() method, and other problems. Code inspections are accompanied by intelligent intention actions for fixing discovered problems. For example, you can instantly replace hard-coded String literals with retrievals from a resource bundle, creating the relevant new keys in the resource bundle at the same time.
"Not requiring internationalization" annotation and intention action
For details, please see Contract annotations
Text values on GUI components can be specified either by constant strings, or be obtained from the specified resource bundle. You can quickly switch locale in the design time to get the view of your interface with different languages. All the internationalization inspections and intention actions work in GUI forms as well.
Since version 6.0.2 IntelliJ IDEA supports automatic i18n for Google Web Toolkit (GWT) applications.
Per-file encoding support
Configure file encoding individually for a file, set of files, or an entire project.