Eine Property-Datei ist im Prinzip eine einfache Text-Datei, welche die Endung .properties besitzt. Die Dateiendung .properties zeigt an, dass es sich hier um eine Java-Konfigurationsdatei handelt, die von JasperReports über den ResourceBundle-Mechanismus genutzt werden kann. Wichtig für uns ist an dieser Stelle nur die Bezeichnung und die innere Struktur. Da es sich um Text-Dateien handelt reicht ein einfacher Texteditor aus, es muss jedoch die Möglichkeit bestehen die Dateiendung .properties festlegen zu können.
Einfacher ist es Jaspersoft Studio diese Arbeit erledigen zu lassen.
Klicken sie mit der rechten Maustaste auf ein Projekt → New → Other
Wählen sie dann unter Messages Editor → Resource Bundle und bestätigen sie mit dem Next > Button.
Wählen sie dann unter Messages Editor → Resource Bundle und bestätigen sie mit dem Next > Button.
Dadurch ist jetzt die Hauptansicht verfügbar:
In dieser ist für jede Sprache eine .properties Datei zu sehen.
Diese beginnt mit dem vorher gewählten Basisnamen und endet mit einem Ländercode.
Anlegen eines neuen Schlüssels:
Eingabe der Werte:
Die Tableiste unten ist zu beachten. Hier kann zwischen folgenden Ansichten gewechselt werden:
Nach dem letzten Arbeitsschritt stehen die Sprachdateien dem Nuclos bzw. der Jasperreports-Komponente im Nuclos zur Verfügung.
Im Formular werden an den Stellen, wo eine Übersetzung notwendig ist, Platzhalter definiert. Diese Platzhalter werden durch Textfelder mit den entsprechenden Schlüsseln aus der zuvor erstellten Properties-Datei deklariert.
anfrage.thema = Anfrage in Bundle_de.properties
$R{anfrage.thema} im Formular
Natürlich muss der Jasperreports- Komponente in Nuclos noch mitgeteilt werden, wo sich die Übersetzungen (Properties-Dateien) befinden. Dafür ist lediglich der Name der Standardsprache Bundle.properties ohne .properties in der entsprechenden Eigenschaft des Formulars anzugeben. Der Java BundleRecource-Mechanismus sorgt dafür, dass anhand der eingestellten Lokale (Sprache) die richtige Übersetzung (Properties-Datei) herangezogen wird. Der Mechanismus erkennt die Dateinamen Bundle_en oder Bundle_de. Der Dateinamen muss nicht zwingend Bundle heißen! Es ist jegliche Bezeichnung möglich, jedoch müssen _en, _de bzw. andere Länderkürzel konstant angefügt werden.
!!Diese Einstellung muss auch für alle Unterformulare gesetzt werden!!
Das Formular wird über Konfiguration → Report → Formular o. Report ins Nuclos geladen. Will man eine andere Sprache wählen, kann der Datensatz geklont und der geklonte Datensatz mit der anderen Sprache versehen werden.
Auch nachdem eine Property-Datei angelegt wurde, können weitere Sprachen hinzugefügt werden. In diesem Beispiel sind die Schlüssel und Werte bereits gesetzt, bevor eine neue Datei erzeugt wird. Selbstverständlich können die Schemata auch erst erzeugt werden und danach die Schlüssel und Werte bearbeitet werden.