Bugs bei der Formatierung: keine bekannt
;-)
.
ToDo: Ein Inhaltsverzeichnis sowie Verweise cross references.
Dies ist ein Testballon: inhaltlich und formal. Kommentare
sind erwünscht. Entweder per E-Mail an Karl Eichwalder
<ke@ke.Central.DE>, an die Mailingliste
<de@li.org> oder in die Newsgroup
de.comp.gnu
.
GNU is going international! - Dies ist der Versuch, alle die in einem Projekt zur Zusammenarbeit zu bewegen, die mit den GNU-Prgrammen zu tun haben: die "Anwender", die Übersetzerinnen und die Betreuer der Programm-Packete (users, translators und maintainers); die Zusammenarbeit ist über Mailinglisten organisiert. Die Lokalisierung für den de-Bereich erarbeitet das Team der Mailingliste <de@li.org>.
Ist es "richtig", GNU-Programme zu übersetzen? Warum tun wir es? Es ist ein interessantes Problem, dessen Lösung Spaß macht. Angenehmer Nebeneffekt, dass für viele die Bereitschaft steigt, sich einem solchen System aufgeschlossener zu nähern dort und erste Schritte zu wagen. Das Vorurteil: Computer spricht Englisch - das ist aber schwer, kommt erst gar nicht zum Tragen. Es gibt Menschen, die sich in einer Umgebung wohler fühlen, in der ihre eigene Sprache gesprochen wird (das Gegenteil soll es allerdings auch geben). Allerdings ist die Übersetzung noch längst nicht alles (s. gettext Manual); dies kann nur der Anfang für eine umfassende Lokalisierung sind.
Wer weiß mehr?
In der Mailingliste fallen mitunter folgende Namen:
fr
http
-Text:
To: w3mail@gmd.de Subject: - kein Eintrag notwendig - From: user@host.do.main get -e http://www.epita.fr:5000/~viale_a/GNU/Der
fr
-FTP-Server in Europa:
ftp.u-bordeaux.fr:/pub/Linux/po http://www.emi.u-bordeaux.fr/~dumas/Linux/mirror/Linux/po
de
<de@li.org> ist eine offene Mailingliste; jede kann Mitglied dieser Liste werden - allerdings, es sollte ein echtes Interesse an tatkräftiger Mitarbeit vorhanden sein.
Die Mailingliste - wie auch die der anderen nationalsparchlichen
Teams - wird in Australien mit Majordomo verwaltet.
Informationen zum Majordomo-System kannst du mit einer E-Mail
an <Majordomo@li.org> abfragen; es reicht das Wort
help
im "Body" der E-Mail:
To: Majordomo@li.org Subject: - kein Eintrag notwendig - help end
Um Fehlfunktionen bei der Mailinglisten-Software zu vermeiden, empfiehlt
es sich, die Nachrichten in den E-Mails mit dem Wort end
abzuschliessen (s. o.). Es ist auch ohne weiteres möglich,
mehrere Anforderungen in einer E-Mail
unterzubringen.
Das Volumen der Beiträge der de-Mailingliste ist unterschiedlich; wenn "nichts los" ist, bedeutet das in der Regel nur, dass gerade Ruhe vor dem nächsten Sturm herrscht.
Per E-Mail trägt man sich selber in die Liste ein (Achtung: die Adresse lautet in diesem Fall <de-request@li.org>, nicht <de@li.org>:
To: de-request@li.org Subject: - kein Eintrag notwendig - subscribe end
Einen solchen Eintragwunsch quittiert Majordomo mit einer Mail, die unbedingt aufzuheben ist. In dieser Bestätigungsmail nämlich wird erklärt, wie man sich wieder austragen kann; im einfachsten Fall mit:
To: de-request@li.org Subject: - kein Eintrag notwendig - unsubscribe end
Eigene Beiträge kannst du als E-Mail an <de@li.org> schicken. Als Zeichensatz bitte ISO-8859-1 und als Kodierung bitte 8bit oder quoted-printable gemäß MIME-Version 1.0 verwenden; also z. B. in dieser Art:
To: de@li.org Subject: Die Optionen --help und --version MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Jedes GNU-Programm muss die Optionen --help und --version ("long options") verstehen. Wir sollten versuchen, konsistente Übersetzungen zu finden. Mehrfach wurden bereits Anläufe zur Lösung dieses Problems unternommen. -- | keichwa@gwdg.de | Karl Eichwalder | ke@ke.central.de | Don't believe in me.
Bei Antworten bitte nur die für das Verständis unbedingt notwendigen Passagen zitieren; du kannst immer mehr weglöschen, als du im ersten Moment zu glauben geneigt bist. Von der Löschfunktion des Editors reichlich Gebrauch machen!
Die Mailingliste existiert seit Mai 1995. Wenn die Technik uns keinen Streich gespielt hat, dann wurden alle bisherigen Beiträge archiviert. Der Zugriff auf diese Beiträge ist ohne Einschränkungen per E-Mail möglich. Die Beiträge eines Monats sind in jeweils einer Datei zusammengefaßt.
Eine Liste der archivierten Dateien kannst du mit einer E-Mail an
<de-request@li.org> anfordern; als Inhalt der E-Mail reicht das
Wort index
:
To: de-request@li.org Subject: - kein Eintrag notwendig - index end
Die als Antwort zurückgeschickte Liste sah am 8. März 1996 so aus:
>>>> index total 511 -rw-rw---- 1 majordom majordom 31865 May 29 1995 de.archives.9505 -rw-rw---- 1 majordom majordom 84758 Jun 27 1995 de.archives.9506 -rw-rw---- 1 majordom majordom 22007 Jul 20 1995 de.archives.9507 -rw-rw---- 1 majordom majordom 12827 Aug 13 1995 de.archives.9508 -rw-rw---- 1 majordom majordom 18964 Sep 8 1995 de.archives.9509 -rw-rw---- 1 majordom majordom 2240 Oct 11 03:28 de.archives.9510 -rw-rw---- 1 majordom majordom 63813 Dec 23 11:44 de.archives.9512 -rw-rw---- 1 majordom majordom 21133 Feb 28 05:58 de.archives.9602 -rw-rw---- 1 majordom majordom 252838 Mar 8 22:51 de.archives.9603
Um eine dieser Dateien zu erhalten, ist abermals eine E-Mail an <de-request@li.org> zu schicken; der Inhalt kann z. B. diesmal lauten:
To: de-request@li.org Subject: - kein Eintrag notwendig - get de.archives.9505 get de.archives.9506 end
Es ist geplant, die Dateien auf dem Server unter ftp://ftp.gwdg.de/pub/gnu2/i18n/l10n/de/m-archive/ in gepackter Form abzulegen.
Auch wenn es nur ein Teilaspekt ist - das Hauptaugenmerk des de-Teams gilt z. Zt. der Übertagung der Programm-Meldungen (s.u.).
Bei der folgenden Beschreibung beziehe ich mich in erster Linie auf die "i18n" der GNU-Software der FSF; maßgebliche Informationen zu diesem Projekt enthält das Dokument ABOUT-NLS, das in Zukunft auf dem Server der GNU-Software liegen soll, z. T. aber nur auf dem alpha-Host sowie im gettext-Packet enthalten ist.
In der Datei ??? ist der Stand des Ü-Projektes vermerkt; es wird aufgezählt, wer welches Programm-Packet zur Übersetzung übernommen hat, welche Packete aktualisiert werden müssen und welche Packete noch gar nicht übersetzt sind. Neue Übersetzungsprojekte rechtzeitig in der Mailingliste <de@li.org> anmelden, um Parallel-Arbeiten zu vermeiden; nach der Anmeldung bitte umgehend die ©-Papiere ausfüllen und per "Sackpost" an die FSF schicken. Bis die Papiere dort in den Staaten eingetroffen, bearbeitet und in Kopie zurückgeschickt sind, können durchaus 3-5 Wochen vergehen; jede Übersetzerin wird per E-Mail benachrichtigt, sobald die Papiere in den "Headquaters" von GNU-Central vorliegen.
Die Programm-Meldungen sind in PO-Dateien (portable objects
)
abgelegt; dort sind die Übersetzungen einzufügen. Bitte stets die aktuelle
PO-Datei
zur Grundlage der Übersetzung nehmen; neue Dateien werden in der Mailingliste
angekündigt. Ich empfehle bei schlechter Erreichbarkeit des Referenz-Rechners
den FTP-Mailer der GMD zu benutzen:
To: bitftp@vm.gmd.de Subject: - kein Eintrag notwendig - From: user@host.do.main ftp alpha.gnu.ai.mit.edu cd /gnu/po/trans/de dir get hello-1.3.4.po bye
Du darfst die übersetzte PO-Datei erst dann per E-Mail an <gnu-translation@gnu.ai.mit.edu> senden, wenn die ©-Papiere bei der FSF eingetroffen und von dort bestätigt sind. Die eingeschickte Datei wird dann in das jeweilige GNU-Packet aufgenommen und beim nächsten Release mitverteilt. Interims- und Arbeitsversionen können jederzeit im incoming-Verzeichnis des de-FTP-Servers abgelegt werden; die Dateien werden dann nach .../l10n/de/$PACKAGE verschoben, also im Falle von hello z. B. nach .../l10n/de/hello.
Die wesentlichen Tools sind im GNU gettext-Packet enthalten. Das gettext-Manual beleuchtet den technischen Hintergrund der Internationalisierung. Hier im Zusammenhang mit dem Übersetzen interessiert speziell der Abschnitt PO Files and PO Mode Basics.
Die po-mode.el-Bibliothek schafft im Emacs eine
Umgebung, die die Übersetzungsarbeit sehr erleichtet. Diese Datei muss in den
Emacs-load-path
kopiert werden.
Um den PO Mode automatisch zu starten und auf die Erfordernisse
für de-Lokalisierung einzustellen, verwende ich in meiner
~/.emacs-Datei die folgenden Einstellungen (nur unter dem
X Window System für den Emacs 19.30 mit
po-mode.el 1.2 getestet):
;;; PO mode setup (setq latin1:de-syntax-table (copy-syntax-table text-mode-syntax-table)) ;; In german text `guillemets' are used different. ;; change matching parenthesis': »...« (modify-syntax-entry ?\» "(\«" latin1:de-syntax-table) (modify-syntax-entry ?\« ")\»" latin1:de-syntax-table) (mapcar (lambda (char) (modify-syntax-entry char "w" latin1:de-syntax-table)) "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ") ;; tell po-mode that we have a special syntax table (add-hook 'po-subedit-hook '(lambda () (setq fill-column 79) (set-syntax-table latin1:de-syntax-table))) ;; tell po-mode we want to use all the keywords for fontifying; looks ;; like a bug in po-mode.el ? (add-hook 'po-mode-hook '(lambda () (cond (window-system (make-local-variable 'font-lock-defaults) (setq font-lock-defaults '(po-font-lock-keywords nil)))))) (setq po-default-file-header "\ # German messages for GNU # Copyright (C) 1996 Free Software Foundation, Inc. # Karl Eichwalder <ke@ke.Central.DE>, 1996. # #, fuzzy msgid \"\" msgstr \"\" \"Project-Id-Version: \\n\" \"PO-Revision-Date: YEAR-MO-DA HO:MI\\n\" \"Last-Translator: Karl Eichwalder <ke@ke.Central.DE>\\n\" \"Language-Team: German <de@li.org>\\n\" \"MIME-Version: 1.0\\n\" \"Content-Type: text/plain; charset=ISO-8859-1\\n\" \"Content-Transfer-Encoding: 8-bit\\n\" ") ;; tell Emacs to switch to po-mode automatically, if we open a .po file. (setq auto-mode-alist (cons (cons "\\.po[tx]?\\'\\|\\.po\\." 'po-mode) auto-mode-alist)) (autoload 'po-mode "po-mode")
Emacs zeigt den Puffer mit der PO-Datei "read-only" an; mit kurzen Tastatureingaben bewegt man sich innerhalb der Datei bzw. gibt man Bereiche zum Editieren in einem anderen Puffer frei. Mit `Taste: h' bzw. `Taste: ?' wird eine Übersicht der Befehle aufgelistet (Revision 1.2):
po-mode.el befindet gerade (1996-04-01) in einer Phase der Überarbeitung; ich verzichte für diesen Moment auf eine Beschreibung der einzelnen Kommandos.
[PO Mode Summary] Next Previous Miscellaneous n p Any type . Redisplay Moving around /t /M-t Translated /v Version info < First if any f M-f Fuzzy ?, h This help > Last if any o M-o Obsolete = Current index /SPC Auto select u M-u Untranslated O Other window V Validate Msgstr Comments Q Quit Modifying entries RET # Call editor U Undo TAB Remove fuzzy mark k K Kill to E Edit out full /DEL Fuzzy or fade out w W Copy to LFD Init with msgid y Y Yank from [*: Later, /: Docum] gettext Keyword Marking Position Stack , Find next string Compendiums m Mark and push current M-, Mark translatable *c To compendium r Pop and return M-. Change mark, mark *M-C Select, save x Exchange current/top Program Sources Auxiliary Files Lexicography s Cycle reference *a Cycle file *l Lookup translation M-s Select reference *M-a Select file *M-l Add/edit translation S Consider path *A Consider file *L Consider lexicon M-S Ignore path *M-A Ignore file *M-L Ignore lexicon
Die Beschreibung werde ich nachtragen, wenn ein neues gettext veröffentlicht ist; für den Moment siehe im gettext-Manual unter Basics; PO-Dateien
Momentan (1996-04-01) ist noch nicht endgültig geklärt, was genau am Beginn einer PO-Datei einzutragen ist; der letzte Vorschlag von François wird z. T.. erprobt:
# Some descriptive title. # Copyright (C) 1995 Free Software Foundation, Inc. # Some Author <address@some.site.world>, 1995. # Project-Id-Version: GNU tar 1.11.9 PO-Revision-Date: 1995-04-27 21:58:18 EDT Last-Translator: Ulrich Drepper <drepper@ira.uka.de> Language-Team: German <de@li.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit
Die deutschen PO-Dateien sind im ISO-8859-1-Zeichensatz
(8bit) anzufertigen. Dateien mit einer anderer eindeutigen Kodierung,
die von recode verstanden wird (z. B. HTML-Enitities oder
quoted-printable
), können aber auch eingereicht werden;
solche Dateien müssen dann konvertiert werden.
Dieser Abschnitt ist als sehr vorläufig zu betrachten!
Ein paar Tips vorab: Nicht am US-englischen Original kleben bleiben; oftmals sind Veränderungen der Satzstruktur geradezu zwingend. Bisweilen ist auch das Original nicht recht verständlich; in solchen Fällen bitte ohne Bedenken eine freie Formulierung wählen (und dem Programmautor möglichst eine entsprechende Meldung zukommen lassen).
Sie vs. du. Lang vs. kurz. Rechtschreibung. Diskutiert wird derzeit: Groß beginnen und Punkt am Ende. Art der Anführungszeichen.
Der GNU Coding Standard verlangt, dass alle Programm zumindest die beiden folgenden Optionen verstehen sollen:
-h, --help display this help and exit -v, --version output version information and exit
Mögliche Übersetzungsvarianten:
--help Diese Hilfe anzeigen und beenden. --version Versionsnummer anzeigen und beenden.
--help Zeige diese Hilfe an und beende. --version Zeige Versionsnummer an und beende.
Im ersten Fall wird beschrieben, was passiert, wenn der Benutzer mit einem bestimmten Parameter aufruft; im zweiten Fall wird der Parameter als eine Aufforderung (ein Befehl) an das Programm verstanden
Weitere Parallelvorschläge waren:
--help Nur diese knappe Gebrauchsanleitung anzeigen.
Bitte immer mit Großbuchstaben beginnen und mit Punkt enden (diese
Vorgehensweise entspräche jedenfalls meiner
Wunschvorstellung). Syntax-Zeile (usage: ...
)mit "Syntax:"
beginnen; Leerzeile, 4 Leerzeichen-Einzug und dann die
Kommandozeile.
Ansonsten gilt:
Sender: Ulrich Drepper <drepper@myware.rz.uni-karlsruhe.de> Date: Fri, 08 Mar 1996 19:00:52 +0100 Bitte *nicht* die Kurzformen weglassen. Es ist in einem noch nicht veröffentlichten GNu Standard geschrieben, daß die Form immer sein sollte: - 2x Space - Kurzform, falls vorhanden - Komma, falls Kurz- und Langform vorhanden - Langform - Wenn Argument vorhanden: = und Bezeichner - mindestens 3x Space - Beschreibung, alle in die gleichen Spalte, oder (siehe Shar) in einzelnen Gruppen
Die Vorgaben der originalen PO-Datei sind keineswegs zwingend. Es kann sinnvoll sein, z. B. aus Gründen der Vereinheitlichung entweder weitere Stellen zu markieren oder auch an bestimmten Stellen Anführungszeichen wegzunehmen.
Befremdlich klingende Begriffe sind in Anführungszeichen zu setzen. Erst wenn sich einer solcher Begriff im deutschen Sprachgebrauch eingebürgert hat, sind die Zeichen wieder zu entfernen. Beispiel: "Lokale"-Kategorie.
Sender: haible@ilog.fr (Bruno Haible) Subject: Tuettelchen Date: Mon, 4 Mar 96 23:07:18 +0100 ------ Karl bemerkt: > Ein weiteres Kapitel sind die "Tüttelchen". Die US-Leute nehmen ja > meist `%s'-Markierungen; ... Eine andere Frage: Wann verwendet man die Anführungszeichen um ein %s herum und wann nicht? Zuwenig, und man erinnert sich an Konfusionen wie $ touch god touch: cannot create god: Permission denied Besser wäre touch: cannot create `god': Permission denied (Nicht lachen: Eine Datei wird gerne "data" genannt, und bei einer Frage "remove data (y/n)?" weiß niemand mehr, was gemeint ist.) Zuviel, und die Meldungen werden vor Tüttelchen unleserlich. Ein möglicher Kompromiß: - Wenn das %s einen Satzbestandteil ergeben soll, nicht quotieren. Bsp.: printf("Remove this %s?", isdir ? "directory" : "file"); - Wenn das %s als ein einzelnes Wort herauskommen könnte (z.B. Datei- oder Variablenname), dann quotieren. Bsp.: printf("Remove `%s'?", filename); - Wenn das %s schon Begrenzer hat, dann nicht quotieren. Bsp.: printf("Removing %s", file_list_with_parentheses); - Im Zweifelsfalle zwischen der zweiten und dritten Regel wird quotiert.
An- und Abführungszeichen bitte eindeutig unterscheiden. In zahlreichen Fonts sehen `...'-Markierungen unglücklich aus, da die Zeichen nicht pixelgenau symmetrisch angezeigt werden. Es empfiehlt sich, die sog. französischen Anführungszeichen zu verwenden, jedoch in umgekehrter Abfolge »...« zu verwenden.
Ulrich beantwortete diese Frage so:
Das ist ein Problem mit dem Programmcode. Wenn das System richtige POSIX Locales unterstützt (wie Linux) und das Program richtig geschreiben ist und dabei nl_langinfo() oder localeconv() benutzt, um den aktuellen YESEXPR Ausdruck zu bekommen, würde es funktionieren. Aber vorerst funktioniert das noch nicht. Es steht wohl im allgemeinen etwas in der Art if (tolower (ch) == 'y') ... Da. Falls aber im Quelltext wirklich if (tolower (ch) == 'n') ... steht, können wir natürlich die eingedeutschte Version verwenden. Also bitte individuell nachsehen.
Info von Markus Kuhn:
Normen, die ich auf die Schnelle greifbar habe:
Anregungen zur Wortwahl sind auch Winfried Trümpers <truemper@MI.Uni-Koeln.DE> Dokumenten zu entnehmen, z. B. dem Linux-Crash-Kurs:
Ein Entwurf liegt auf dem Server. Eine überarbeitete Fassung wird als SGML-Dokument publiziert; Beiträge sind jederzeit willkommen!
de
Nützliche Dinge für die de-Lokalisierung sind auf dem o. g. Server ftp://ftp.gwdg.de/pub/gnu2/i18n/l10n/de/ zu finden.
Please print this out, sign it, write the date, and snail it to this address: Richard Stallman 545 Tech Sq rm 425 Cambridge, MA 02139 USA Please print your email and snail addresses on the printed disclaimer. *Don't forget to include the date.* In the unlikely event that you are employed on a continuing basis to do translation, we may need a disclaimer from your employer as well, to assure your employer does not claim to own this work. Please contact the FSF to ask for advice if you think this may apply to you. Note: if you want the wording modified to cover only a specific category of programs, or a specific program, we can easily do that. DISCLAIMER OF COPYRIGHT IN TRANSLATIONS OF PARTS OF PROGRAMS I, _____________________________________, a citizen of __________, do hereby acknowledge to the Free Software Foundation, a not-for-profit corporation of Massachusetts, USA, that I disclaim all copyright interest in my works, which I have provided or will in the future provide to the Foundation, of translation of portions of free software programs from one human language to another human language. The programs to which this applies includes all programs for which the Foundation is the copyright holder, and all other freely redistributable software programs. The translations covered by this disclaimer include, without limitation, translations of textual messages, glossaries, command or option names, user interface text, and the like, contained within or made for use via these programs. Given as a sealed instrument this ___ day of ______ (month), ______ (year), at _____________________. signed: ___________________________ email address: ___________________________ postal address: ___________________________ ___________________________ ___________________________