Skip to main content
Pentaho Documentation

Design Tool Localization

All of Pentaho's design tools can be translated to the extent that their text strings are abstracted to properties files. There are already a number of localized message bundles in some design tools (PDI in particular), though they may be incomplete.

The basic process for translating message bundles is to search for messages.properties files and create localized versions of them, following the standard Java localization naming convention as explained in Use the Kettle Translator.

Once you've found the JARs containing the message bundles, create overrides for them by creating a translations directory and unpacking the messages.properties files from the JARs into it:

mkdir translation
cd translation
unzip ./lib/*.jar '*.properties'

Then add that directory to the classpath by editing launcher.properties, and edit or create a localized message bundle for each properties file you extracted.

The quickest and easiest ways to locate the appropriate JARs, add override directories, and create message bundles is explained for each design tool in the below sections.

Design Tool File Path and File Name Details
Aggregation Designer /aggregation-designer/lib/pentaho-*.jar

Modified launcher.properties classpath: classpath=../translations:log4j.xml

Pentaho Data Integration (Kettle) /data-integration/lib/kettle-*.jar

launcher.properties classpath prefix: classpath=../translations:

Note: The Kettle project has a translator tool to help facilitate large-scale localization efforts. To get it, check out the Kettle source code and run translator.sh or Translator.bat and either check in the changes, or zip them and email the archive to a committer. See Use the Kettle Translator for more information.

Metadata Editor

/metadata-editor/lib/pentaho-metadata-editor*.jar

/metadata-editor/libext/pentaho/pentaho-*.jar

Edit the metadata-editor (.sh or .bat) script, and modify the CLASSPATH variable accordingly:

CLASSPATH=./translations:
Report Designer

/report-designer/lib/pentaho-reporting-*.jar

/report-designer/lib/report-design*.jar

launcher.properties classpath prefix: classpath=translations:
Schema Workbench

/schema-workbench/lib/workbench.jar

/schema-workbench/lib/mondrian.jar

Edit the workbench (.sh or .bat) script, and locate the following line: CP="${MONDRIAN_HOME}/lib/commons-collections.jar". Now create a new line directly below it and paste this in:

CP="${CP}${PS}${MONDRIAN_HOME}/translations"
BA and DI Server /biserver-ee/tomcat/webapps/pentaho/WEB-INF/lib/pentaho-bi-platform-*.jar

This process is described in much more detail in BA Server and Thin Client Message Bundles. However, if you're following the same abbreviated procedure as above, here are the basics (minus the thin client plugins):

Search for:

Path to use as a classpath override (you don't have to declare it): /biserver-ee/tomcat/webapps/pentaho/WEB-INF/classes/