A resource bundle is a Java .properties file that contains locale-specific data.[1] It is a way of internationalising a Java application by making the code locale-independent.
Extracting locale-sensitive objects such as strings from the code (as opposed to hard-coding them) means that the application can handle multiple locales without having to write different code for each locale. It also means that translators can deal with just the translatable text and not the programming code. Therefore, using resource bundles improves the internationalisation and the localisation process of a software product.
Some CAT tools like OmegaT, OmegaT+,[2] Swordfish or Sun's Open language tools can specifically handle resource bundles. In addition to these, translators can use any text editor to create new resource bundles or to modify existing ones.
The Message Compiler [3] is a tool to generate resource bundle files from a single source file containing localized text definitions in different languages. The Message Compiler creates also constant definitions for the keys used to access the localized texts with the methods of the Java class ResourceBundle (6), ResourceBundle (7) and HTML documentation pages for each language.