| Auszug | ||
|---|---|---|
| ||
Nuclos Sprachdateien: properties, ResourceBundle, Jaspersoft Studio, $R{}, Bundle.properties, Formular, Unterformulare, Locale. |
Sprache: Deutsch · English
Mehrsprachige Reports/Formulare – ResourceBundle in Jaspersoft Studio anlegen und per $R{} einbinden.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | |||
|---|---|---|---|
| |||
Auf dieser Seite
|
...
|
Eine Property-Datei (.properties) ist
...
eine einfache Textdatei, die JasperReports über den ResourceBundle-Mechanismus
...
nutzt. Am einfachsten legst du sie in Jaspersoft Studio an.
Einfacher ist es Jaspersoft Studio diese Arbeit erledigen zu lassen.
...
...
...
...
...
...
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:
.properties-Datei (Basisname + Ländercode).ResourceBundle-Hauptansicht mit Sprachen.
Im Formular werden übersetzbare Stellen als Textfelder mit Schlüssel definiert:
| Codeblock | ||
|---|---|---|
| ||
anfrage.thema = Anfrage # in Bundle_de.properties
$R{anfrage.thema} # im Formular |
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.
...
| Warnung | ||
|---|---|---|
| ||
Trage in der Formular-Eigenschaft den Basisnamen ohne |
Diese Einstellung muss auch für alle Unterformulare gesetzt werden! |
...
Das Formular wird über Konfiguration → Report → Formular o. Report
...
geladen.
...
Für eine andere Sprache
...
lässt sich der Datensatz
...
klonen und
...
mit der anderen Sprache versehen. Weitere Regionalschemata können jederzeit ergänzt 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.