I18N (Internationalisierung) von statischen Webseiten mit TAL (Template Attribute Language) und Perl

Voraussetzungen:

Vorbereiten des Codes

Zuerst muss der Code in XHTML umgewandelt/geschrieben werden. Dies heißt:

Nun kann das zusätzliche Attribut zum Code hinzugefügt werden. Das Attribut heißt i18n:translate und sein Wert kann ein Schlüssel oder leer sein (dann ist die Zeichenkette der Schlüssel). Hier ist ein Beispiel, wie es aussehen sollte:

<span i18n:translate="">Welcome here</span>


Achtung: Wenn ein Text, der übersetzt werden soll, andere Tags enthält, wird man statt des Tags eine Referenz erhalten. Es muss ein eigenes i18n:translate Attribut für diesen Tag hinzugefügt werden.

Vorbereiten der Verzeichnisstruktur

  1. ein Verzeichnis mit den Namen locale erstellen. Dies enthält die unübersetzte Übersetzungsvorlage und enthält die Nachrichtenkantaloge jeder Sprache in einem eigenen Verzeichnis.
  2. für jede Sprache ein Verzeichnis erstellen, wo die Nachrichtenkataloge gespeichert werden: <language code>>/LC_MESSAGES (zum Beispiel: de_DE/LC_MESSAGES)

Zeichenkettenextraktion

Nach dem Schreiben des Codes ist es nun Zeit zum Extrahieren der Zeichenketten aus dem Code. In das locale-Verzeichnis wechseln und das folgende Kommando ausführen:

i18nfool-extract ../*.html
msginit -i default.pot --no-translator -l "UTF-8" -o default.pot

Dies wird eine Datei mit dem Namen messages.pot erstellen, die die Zeichenketten der Seiten enthält. Diese Datei soll dann den Übersetzern gegeben werden, die dann mit speziellen Werkzeugen zum Übersetzen, wie KBabel oder PoEdit, die Übersetzung machen können. Wenn man diese Datei dann zurückbekommt, die übersetzte Datei in dem zugehörigem Sprachverzeichnis abspeichern. Danach müssen die Übersetzungen kompiliert werden. Nun sind die Seiten bereit für das Veröffentlichen.

Aktualisieren der Nachrichtenkataloge

Zum Aktualisieren der Übersetzungen ausführen:

i18nfool-update

in dem locale-Verzeichnis

Übersetzungen kompilieren

Zum Übersetzen der Übersetzungen ausführen:

i18nfool-build

Dies wird .mo-Dateien in den Sprachverzeichnissen erzeugen.

Erstellen der lokalisierten HTML-Dateien

Zuerst den Ausgabepfad und die Sprachen im Skript anpassen (create_localized_html.sh)

Nun ist das folgende Kommando auszuführen:

create_localized_html.sh

Dies wandelt die HTML-Dateien mit Hilfe der Übersetzungsdateien unter Benutzung von create_localized_html.pl um. Das Veröffentlichungsverzeichnis wird mit den englischen (ohne Übersetzung) und den lokalisierten Dateien. Die lokalisierten Dateien werden in einem Unterverzeichnis abgelegt, dass nach dem Sprachcode benannt ist (z.B. de_DE für Deutsch).

Lizenz

Dieser Text wird unter den Bedingungen der GNU Free Documentation License (FDL) veröffentlicht. Freie Veröffentlichung in geänderter oder ungeänderter Form Form sind erlaubt. Änderungen müssen hervorgehoben und muß unter der FDL vertrieben werden.

© 2005 Christoph Thielecke <crissi99_TA_gmx_PT_de>