Gruppenbildung
Müsste die »gettext«-Funktion auf der Suche nach einer Übersetzung den entsprechenden Katalog durchgehen, wäre das bei großen Projekten nicht besonders effizient. Stattdessen durchsucht Gettext mit einer Hashfunktion binäre ».mo«-Dateien (Machine Object), die das kleine Hilfsprogramm »msgfmt« aus ».po«-Dateien erzeugt:
msgfmt -c -o hello.mo hello.po
Wenn mehr als ein Katalog vorliegt, stellt sich das Problem sinnvoller Dateinamen. Die Lösung liegt in einer speziellen Verzeichnisstruktur (siehe Kasten "Unterverzeichnisse verarbeiten"). Zunächst erhält jede ».mo«-Datei den Namen des Programms oder des Projekts. Anschließend wandert sie in ein Verzeichnis, dessen Name dem folgenden Schema entspricht:
/Pfad_zu_Sprachdateien/Sprachkürzel/Kategorie/Katalog.mo
Das Sprachkürzel besteht aus zwei Buchstaben für die Sprache, einem Unterstrich und der Länderkennung. Für Deutschland ist dies »de_DE«, für Österreich »de_AT«. Weitere Kennungen legen die ISO-Standards 639 für die Sprache und 3166 für die Länderkennungen fest.
|
Die Spracheinstellungen werden durch einige Umgebungsvariablen gesteuert. Die wichtigste von ihnen ist »LANG« beziehungsweise, je nach System, auch »LANGUAGE«. Das darin enthaltene Sprachkürzel wie »de_DE« gilt für alle von der Sprache abhängigen Bereiche wie Programmtexte oder das Datumsformat.
Für eine feinere Unterscheidung sind alle Variablen mit einem vorangestellten »LC_« die erste Wahl. Beispielsweise kümmert sich »LC_MESSAGES« um die Sprache in allen (Programm-)Meldungen, während »LC_TIME« sich auf das Zeitformat bezieht. Der Kommandozeilenbefehl »locale« listet die aktuellen Einstellungen auf.
|

|
Abbildung 1: PO-Edit ist ein komfortables Werkzeug zum Editieren von PO-Dateien. Es zeigt im Hauptfenster den Ursprungstext, den übersetzten Text sowie den Kommentar und weitere Informationen an.
|
Ort für Übersetzungen
Da es sich bei den Kataloginhalten um Programmmeldungen handelt, ist die Kategorie immer zwingend »LC_MESSAGES«. Im Beispiel kommt die Datei »hello.mo« mit der deutschen Übersetzung ins Verzeichnis »/usr/share/locale/de_DE/LC_MESSAGES/«. Dieses Sortierschema sammelt alle Kataloge einer bestimmten Sprache in einem eindeutig benannten Verzeichnis. Selbstverständlich kann der Programmierer hiervon auch abweichen und beispielsweise die Übersetzungen direkt im Programmverzeichnis ablegen. Unter Suse Linux wandern zum Beispiel alle systemweiten KDE-Kataloge in das Verzeichnis »/opt/kde/share/locale«.
01 # SOME DESCRIPTIVE TITLE.
02 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
03 # This file is distributed under the same license as the PACKAGE package.
04 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
05 #
06 #, fuzzy
07 msgid ""
08 msgstr ""
09 "Project-Id-Version: PACKAGE VERSIONn"
10 "Report-Msgid-Bugs-To: n"
11 "POT-Creation-Date: 2005-09-26 16:15+0200n"
12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONEn"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>n"
14 "Language-Team: LANGUAGE <LL@li.org>n"
15 "MIME-Version: 1.0n"
16 "Content-Type: text/plain; charset=CHARSETn"
17 "Content-Transfer-Encoding: 8bitn"
18
19 #: hello.c:8
20 #, c-format
21 msgid "hello worldn"
22 msgstr ""
|
|
In der Entwicklung erfährt ein Programm oft grundlegende Überarbeitungen. Dabei kommen neue Textausgaben hinzu, andere fallen weg. Um anschließend nicht die Übersetzung neu beginnen zu müssen, gibt es das nützliche Programm »msgmerge«. Voraussetzung für seine Anwendung sind eine neu erzeugte ».pot«-Datei sowie ein ».po«-Katalog mit einer bestehenden Übersetzung. Im Hello-World-Beispiel könnten dies »hello_new.pot« und »de.po« sein. Die Befehlszeile
msgmerge hello_new.pot de.po
bringt die Datei »de.po« auf den neuesten Stand. Dabei löscht »msgmerge« nicht mehr benötigte Zeichenketten, fügt die neuen hinzu und versucht dabei sogar selbstständig aus den vorhandenen Übersetzungen noch fehlende abzuleiten. Anschließend muss der Übersetzer nur noch den so aufgefrischten Katalog korrigieren und die verbliebenen unübersetzten Meldungen ergänzen.
|
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|