Skip to main content

Internationalisierung

Die Bezeichnungen in der Benutzeroberfläche des jadice web toolkit lassen sich mittels i18n in verschiedene Sprachen übersetzen. Das jadice web toolkit nutzt hierzu den Internationalisierungs-Support des GWT. Die Sprach-Mappings für die lokalisierten Versionen befinden sich an zwei Stellen:

  1. Produktkern: com.levigo.jadice.web.client.ui.i18n

  2. Demos: com.levigo.jadice.web.demo.common.client.ui.i18n

Dort findet sich jeweils deutsche und englische Sprachdateien mit der Endung *Messages_de.properties bzw. *Messages_en.properties. Weitere Sprachen können durch Hinzufügen weiterer namenskonformer Properties-Dateien kundenspezifisch ergänzt werden. Zusätzlich ist in den beiden Packages jeweils auch das zugehörige Interface für den programmatischen Zugriff auf die lokalisierten Werte abgelegt.

tip

Um die Internationalisierung zu aktivieren, muss in den einbindenden Projekten die Datei gwt.xml wie folgt ergänzt werden:

<!-- Bereitstellung der Sprachen englisch und deutsch -->                                   
<extend-property name="locale" values="de,en" />
<set-property name="locale" value="de,en" />

<!-- Fallback- / Standardsprache = englisch -->
<set-property-fallback name="locale" value="en" />

Nachfolgend wird beispielhaft erläutert, wie zur EnterpriseDemo weitere Sprachen hinzugefügt werden können. Hierzu müssen die drei Dateien DemoMessages_de.properties,JadiceMessages_de und Enterprise_Messages_de.in die neue Sprache übersetzt werden und die Endungen der Dateien für die neue Sprache umbenannt werden. Gleiches gilt für die Datei EnterpriseMessages_de.properties. In den genannten Dateien müssen Sonderzeichen wie folgt escaped werden: Einem einfachen Anführungszeichen (') muss ein weiteres einfaches Anführungszeichen vorangestellt werden. Beispielsweise ist l'importazione zu l''importazione zu ändern. Die Sonderzeichen (zum Beispiel Zeichen mit Accent) sind mit dem jeweiligen UTF-8 Code zu ersetzen (zum Beispiel é mit U+00E9), sonst erscheinen bei Ausführung des Programms Ersetzungzeichen. Allgemeine Informationen zu Properties-Dateien können unter GWT Internationalisierung Dokumentation eingesehen werden.

Im Interface DemoMessages sind für jede neue Sprache die beiden folgenden Strings mit der passenden Endung hinzuzufügen:

    public interface DemoMessages extends com.google.gwt.i18n.client.Messages {
String locale_de_abbreviated(); String locale_de();
}...

Die gwt.xml Dateien der Module webtoolkit-demo-enterprise (EnterpriseDemo.gwt.xml) sowie von webtoolkit-demo-common (DemoCommon.gwt.xml) sind wie oben beschrieben anzupassen.

Sämtliche in der EnterpriseDemo verwendeten Annotationsprofile sind anzupassen, das heißt alle, die sich in den Modulen webtoolkit-demo-common und webtoolkit-demo-enterprise befinden. Dort liegen sie jeweils im Ordner resources und dort im Ordner annotationConfigurations. In den Annotationsprofilen sind die Anführungszeichen und Akzente normal auszuschreiben, das heißt nicht durch UTF-8 zu ersetzen.

Die neu hinzugefügte Sprache kann ausprobiert werden, indem im Browser hinter die URL der Parameter für die zu verwendende Sprache hinzugefügt wird, zum Beispiel locale=it für Italienisch. Alternativ dazu kann ein neuer Button zum jadice web toolkit wie folgt hinzugefügt werden:

Das Menü für die Sprache der Enterprise-Demo wird in der Klasse JadiceDocumentViewer angelegt. In der Methode JadiceDocumentViewer.createMainMenu() wird das Sprachenmenü erstellt. Hier kann man analog zum Vorgehen für Deutsch und Englisch einen neuen Eintrag für die hinzuzufügende Sprache in das Dropdown-Menü hinzufügen.

Falls dem Menü auch ein Icon für die neue Sprache hinzugefügt werden soll, kann ein Icon erstellt werden. Dann die nachfolgenden Dateien im Modul webtoolkit-demo-enterprise ersetzen: jwt-icon-font.svg, jwt-icon-font.ttf, jwt-icon-font.woff und jwt-icon-font.woff2. Für das Icon in der neuen Sprache muss das Enum JWTIconFont ergänzt werden. In der Datei jwt-icon-font.css muss ein Eintrag für eine neue Klasse angelegt werden, analog zur Sprache Deutsch bzw. Englisch. Gegebenenfalls muss der Cache im Browser gelöscht werden, um die Icons zu aktualisieren. Allgemeine Informationen zu den IconFonts finden Sie unter IconFonts

Teil der EnterpriseDemo ist auch eine Beispielintegration für Audio und Video. Falls diese ebenfalls übersetzt werden soll, kann wie folgt vorgegangen werden:

Das Menü für die Beispielintegration Audio/Video kann in der Klasse JadiceMediaViewer angepasst werden. In der Methode JadiceMediaViewer.createMainMenu() wird das Language Menu erstellt. Hier kann man analog zum Vorgehen für Deutsch und Englisch einen neuen Eintrag für die hinzuzufügende Sprache in das Dropdown-Menü hinzufügen. In den Methoden JadiceMediaViewer.addFreezeFrames() und JadiceMediaViewer.fillVideoInfo() sind die neuen Sprachen ebenfalls zu ergänzen. Auch in die Dateien jwtaudio.mp3.json sowie jwtvideo.mp4.json ist eine Übersetzung für die neue Sprache hinzuzufügen.