MsgParser

Der MessageParser ist ein kleines Tool für Java-Programmierer, um aus einer Java-Quellcode-Datei alle Textelemente mit Internationalisierung in ein Property-File zu extrahieren, das als Ausgangsbasis für ein RessourceBundle benutzt werden kann.


Motivation:

Zu den Grundlagen der Internationalisierung (kurz als i18n bezeichnet) informieren Sie sich bitte in der Java-Dokumentation zur der Klassejava.util.ResourceBundle des Java Development Kit (java.sun.com) oder entsprechende Literatur.

Die vorliegende Implementierung geht davon aus, daß Sie in ihren Code zum "Übersetzen" der Textbestandteile folgenden Aufruf benutzen:

    System.out.println( I.get("msg_Eine_internationalisierte_Mitteilung!") );

Das Prinzip ist, jeglichen zu internationalisierenden Text in einen Aufruf der Methode getText(String):String in einer Hilfs-Klasse I zu kapseln (der Name wurde nur aus Komfort-Gründen möglichste kurz gewählt). In der Standardimplemntierung kann diese einfach aus folgendem Code bestehen:

    public static String get(String key) { return key.substring(4).replace('_',' '); }

Diese Default-Implementierung wandelt also den als key übergebenen Text einfach um. In der internationalisierten Variante wird dieser jedoch als Schlüssel benutzt, um zum Beispiel ein ResourceBundle zum Nachschlagen der Übersetzung zu verwenden. Im Schlüssel werden deswegen die Leerzeichen umcodiert, damit diese bei der Verwendung als Schlüssel keine Probleme verursachen. Dieses Prinzip berücksichtigt erstmal nur reinen Text, kann aber auch für andere Formatierungen (Datum, Zahlen, ...) usw. ausgebaut werden.

Beim praktischem Einsatz ist zu beachten, daß statische Variablen/Konstanten (die eventuell für Text/Buttonbeschriftungen verwendet werden), beim Laden der Klasse initialisiert werden und zu diesem Zeitpunkt die Internationalisierung stattfindet.


Programmbeschreibung:

Der MessageParser extrahiert aus einer oder mehreren in der Kommandozeile übergebenen Dateien alle obiger Notation entsprechenden Zeilen. Dabei kann ein bereits bestehendes Property-File vorher eingelesen werden und auf diese Weise aktualisiert werden.

Bei der Analyse werden natürlich Kommentare ignoriert, alle gefundenen Texte landen in einer Datei im Property-Format.


Download:

Das MsgParser-Tool ist unter der GNU Public License (GPL) verfügbar.


© 2000 by Matthias Clauß; Matthias.Clauss@gmx.de