Using Localization Descriptor Files
The MessagesBundle file (sometimes called a localized descriptor file) is used for storing the text strings for MicroStrategy Web products. Each language has its own MessagesBundle file identified by a unique suffix. For example, the MessagesBundle file for the English language is called MessagesBundle_en.properties, while the MessagesBundle file for the French language is called MessagesBundle_fr.properties.
The MessagesBundle files are located in the WEB-INF/classes directory.
Each MessagesBundle file contains a list of all strings used in MicroStrategy Web products in the given file’s language. When a user’s language preference is English, every Web page’s strings are drawn from the English descriptor file. Thus, the Messages or Resource Bundle is used any time a localized string is used.
Each string in the MessagesBundle file has the following syntax:
- mstrWeb.ID=Text String
- mstrWeb.2=Shared Reports
- mstrWeb.3=My Reports
- mstrWeb.4=History List
All strings in the various MessagesBundles have translated strings that correspond to the same mstrWeb.ID. So mstrWeb.1 in MessagesBundle_fr.properties has the French translation for Home.
Virtually all strings come from the localized descriptor files based on a user’s localization specification as explained below:
Many tags in the Page Configuration file contain a desc.id attribute. All IDs are stored in localized descriptor files. In this way, a string is never simply sent to the screen; instead, first the language to be used is determined, and then the appropriate descriptor file is used to match the desc.id value to the actual string value.
The <web:descriptor> tag can be used to call a string from the Messages Bundle directly, using the following syntax:
<web:descriptor key ="mstrWeb.19" desc="Save my password" ucase="true"/>
The key attribute must be present, and its value must be valid or an error is thrown. The desc is optional and is ignored if the resources bundle and the desc.id specified are present. However, even in these cases, the desc is useful for easier readability. The ucase attribute is also optional and displays the descriptor in all uppercase letters.
MicroStrategy SDK provides a Web Customization Editor that can be used to add, edit or remove strings from the MessagesBundle files. For instructions, see Adding a New String to the Localization Descriptor File.
Note: When you create new IDs for strings, it is a good practice to use your own prefix instead of mstrWeb in the MessagesBundle files (for example, scenario1.1="My New String", scenario1.2="My Second New String"). Read how to minimize the impact of upgrades for additional guidelines.
For customization scenarios using MessagesBundle files, see the following examples:
References: Applying customization changes