Hyperion Planning smartlist – Localize in respective language

We have several Smart Lists whose entries need to be displayed in English, French, or German, depending on the user’s browser language settings.
To localize Smart List entries, create a HspCustomMsgs_xx.properties file for each language which contains the localized entries. Note that this is essentially the same procedure used to customize any Planning message, which is documented in the Planning Administrator’s Guide. The instructions below apply to Smart Lists in particular.

1. Locate the Planning .ear file on the Planning server:

2. Using a text editor, create 3 files (to support the three languages):

Modify these three .properties file, adding the following contents to each:


The above label names can by any unique name. In this example the naming scheme reflects the fact that the Planning application name is “clapp1” and this is the first custom Smart List created (hence “SL1”).

3. Modify the values in the French and German versions as appropriate:

Mes Fruits/Meine Fruchte
4. Create a simple Smart List with two entries in the Planning application:

Smart List name: Fruits
Smart List label: LABEL_CLAPP1_SL1_NAME
Automatically generate ID: checked

Entry 1 label: LABEL_CLAPP1_SL1_01
Entry 2 label: LABEL_CLAPP1_SL1_02
5. Using a utility such as 7-zip, copy the three .properties file to the /HyperionPlanning.war/WEB-INF/classes directory inside the .war file. This is a good location because it is guaranteed to be in the classpath once the web application is deployed.

6. Stop the Planning service

7. Redeploy the Planning web application using the EPM Configurator

8. Start the Planning service
After performing the steps above, Planning will use the .properties file that matches the user’s browser language. The contents of the .properties file for each language is used to supplement the built-in support for English, German, and French (for menu items, error messages, warnings, etc) that is an integral part of Planning.

This is a more practical approach than the one suggested in the Planning Administrator’s Guide, which recommends creating .properties files based on an existing .template file. The problem with this is that the .template file is only available in English. If you only want to customize menu entries and messages in English this is fine, but localizing the entire file is not practical, and pointless given that support for other languages is already built in. It makes more sense to create .properties files containing only the entries that need to be customized. These will obviously include any localized Smart List entries, as Smart List entries are user generated and have no default values.

Built-in support for languages other than English is provided by resource files inside the HspJS.jar file which is located here:
This information is provided so that you can see what the default message strings for each language are set to. You should not modify the resource files within the HspJS.jar directly, as these changes are easily lost during patching. Use HspCustomMsgs_xx.properties files as described above.

Note: make a backup of the custom .properties files in use on your system in case the HyperionPlanning.ear file is replaced during patching, as you changes will need to be re-applied to the new .ear file.

Note: the Planning Administrator’s Guide is not clear on where to place the .properties files within the .ear file, implying they should be placed in the /custom folder. The correct location is the /classes folder as documented in step (5) above. A documentation bug has been created to have this issue addressed.

Please add your valuable comments or questions if any.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s