GNU gettext ist die GNU-Internationalisierungs
GNU gettext ist außer in C mittlerweile auch in C++, Objective C, sh script, Bash script, Python, GNU CLISP, Emacs Lisp, librep, GNU Smalltalk, Java, GNU awk, Pascal, wxWidgets (mit Hilfe der wxLocale Klasse), YCP (der YaST2 Sprache), Tcl, Perl, PHP und Pike verfügbar. Die Benutzung von gettext ist in der Regel sehr ähnlich zu C.
Mit xgettext werden die Quelldateien analysiert, um eine .pot-Datei (Portable Object Template) zu erzeugen, die eine Liste aller übersetzbarer Texte (Strings) enthält. Für das obige Beispiel würde der Eintrag in der .pot-Datei in etwa so aussehen:
#: src/name.c:36 msgid "Mein Name ist %s.\n" msgstr ""
Dieser Aufruf würde die Datei en.po erstellen, ein Eintrag in dieser Datei würde z.B. so aussehen:
#: src/name.c:36 msgid "Mein Name ist %s.\n" msgstr "Mein Name ist %s.\n"
Der Übersetzer müsste dann entweder manuell oder mit einem Werkzeug wie poEdit die entsprechenden Texte ersetzen. Nach getaner Arbeit würde der Beispieleintrag so aussehen:
#: src/name.c:36 msgid "Mein Name ist %s.\n" msgstr "My name is %s.\n"
Abschließend werden die .po-Dateien mit msgfmt in binäre .mo-Dateien (Machine Object) übersetzt. Diese können nun mit dem Softwarepaket ausgeliefert werden.
Freie Software | GNU | Übersetzung
Gettext | Gettext | Gettext | Gettext | GNU gettext
This article is licensed under the GNU Free Documentation License.
It uses material from the
"GNU gettext".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world