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/ |