About i18n

We’ve come a long way in Pentaho Data Integration. The amount of source code increased dramatically over the almost 2 years that we’ve open sourced Kettle. The amount of text to translate into other languages has dramatically increased as well. I thought it was high time we gave the translators in our community a better tool to work with. The design philosophy in PDI has always been that everything you can change should get a GUI. So we created the Pentaho Translator:

Pentaho translator

With this single dialog we can translate all the keys that are in the Java source code. Here is how it works.

  1. Select the locale to translate into (fr_FR for example is French from France)
  2. Select the package in which there are untranslated keys:
    • light gray: 1-5 missing keys
    • gray : 6-10 missing keys
    • yellow: 11-25 missing keys
    • orange: 26-50 missing keys
    • red: > 50 missing keys
  3. Select a key from the TODO list in the middle
  4. Enter the translation to the right
  5. Apply moves you to the next key on the todo list
  6. When you are done, hit the “Save” button to save the changes back to disk.
  7. Send the changed properties files back to me 🙂

If you want to help out, you can download our Kettle i18n package.(20MB zip file) Simply unzip this file in a directory and launch Translator.bat or “sh translator.sh”. This package includes libraries for Windows and Linux (x86). UPDATE: the zip file now also includes pt_PT. You can now also add your own locale yourself in the translator.xml file.

So join in on the translation fun and leave your mark on Pentaho Data Integration!

Until next time,


P.S. Although the source code for Translator is customized for Kettle, I’m sure it will be possible to use this tool to translate other properties files based Java software as well. If you are interested, contact me over e-mail or have look at the source code for Translator2.java.

3 thoughts on “About i18n”

  1. Hi, Matt

    I’m tryng to run ‘Translator’. but
    There is an Exception like this …

    Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at org.pentaho.di.ui.i18n.editor.Translator2.main(Translator2.java:903)

    I’m using JDK 1.5 on Windows XP.

  2. Kim, please see the UPDATE message in the blog entry, I made a small mistake. (It happens, I run on Linux 99% of the time now)

    Ryu, I don’t think it’s possible, but to be honest, I haven’t even looked. Besides, I see 30-40 strings to translate over on Jaspersoft. We have 5963!! I’m sure you’ll agree with me that there is a small difference in size here 😉

    All the best,


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.