Der Pentaho Report Designer ermöglicht mit den Resource-Labeln eine Internationalisierung (i18n) der Reports. Dabei erhalten die Resource-Label einen Schlüssel/Key über den die jeweils gewünschte Übersetzung in der zur Sprache gehörenden Properties-Datei nachgeschlagen wird. Folgende Schritte sind nötig um den Report mehrsprachig zu erstellen:
1. Resource-Label in den Report einfügen.
2. Anschließend wird das Resource-Label konfiguriert. Die Einstellungen werden im rechten unter Fenster Attributes vorgenommen. Siehe Screenshot.
2.1. Der Name des Resouce Bundles (Properties-Datei) die in Punkt 3 angelget wird muss in das Attribut „resource-identifier“. In der Standardeinstellung sollte hier der Wert „translations“ verwedet werden. (Der Name der Properties-Datei ohne de Suffix *.properties)
2.2. Das Attribut „Name“ stellt den Schlüssel dar, der in der Properties-Datei nachgeschlagen wird. In diesem Fall heißt er „propertyValue“.
3. Nun wird ein Resource-Bundle angelegt in dem die Schlüssel nachgeschlagen werden. Dazu wird der Resource Deitor (File -> Resource) verwendet. Hier wird, falls noch nicht vorhanden, eine Properties-Datei mit dem Namen „translations.properties“ angelegt. In der Datei werden die Übersetzungen nach dem Schema „Schlüssel = Angezeigter Wert“ abgelegt.
4. Übersetzung für andere Sprachen
Übersetzungen für andere Sprachen werden angelegt, indem Resource-Bundles mit entsprechender Sprachekennung angelegt werden. z.B. „translations_en.properties“ oder „translations_de.properties“. Wird für die Sprache für die der Report aufgerufen wird kein Resource Bundle gefunden, so findet ein Fallback auf das translations.properties Bundle statt.
Wird der Report in eine Java Anwendung integriert wird die Locale an den MasterReport Übergeben:
final MasterReport report = ... Report Template (.prpt) laden ... ((DefaultReportEnvironment) report.getReportEnvironment()).setLocale(locale);