msgfmt -c <Name der PO-Datei>
So, Sie wollen helfen und zum Slint-Projekt beitragen? Willkommen an Bord!
Die benötigte Arbeit um Slints Produkte anbieten zu können sind vor allem Übersetzen und Prüfen von Shellskripten, die die Slackware Installationsroutinen ausmachen, und Dokumentation, die sich an Slackwarebenutzer richten und die Form von Textdateien oder Manualseiten haben.
Im Idealfall wünschen wir uns, dass Übersetzer:
in der Lage sind, in Englisch zu kommunizieren und sehr fließend in der Zielsprache sind. Dabei wird die Muttersprache bevorzugt
Technisches Vokabular zu verstehen, wenn es um Installation und Administration eines Linuxsystems geht
Slackwareuser sind
in der Lage sind, einfache Shellskripte zu lesen und zu verstehen
Aber selbst wenn Sie nicht alle diese Erwartungen erfüllen, zögern Sie sich nicht, sich bereit zu erklären: Es gibt immer noch viele Aufgaben, die von Ihren Fähigkeiten profitieren können.
Um freiwillig als Übersetzer mitzuarbeiten, benutzen Sie vorzugsweise die Transifex-Plattform: Registrieren Sie sich kostenlos bei Transifex und gehen Sie dann auf die Slint-Projektseite bei Transifex:
Wenn Ihre Sprache aufgelistet wird, klicken Sie darauf und auf der nächsten Seite klicken Sie auf die Schaltfläche "Gruppe beitreten".
Sonst klicken Sie auf die Schaltfläche "Sprache anfragen" (im hellblauen Streifen, oberhalb der Liste mit den Sprachen).
Wenn Sie vorher Fragen haben oder sich bei einer anderen Aufgabe als der Übersetzung beteiligen möchten, schicken Sie eine E-Mail an den Projektleiter von Slint: didier dot spaier at epsm dot fr.
Dann können Sie mit Ihrem Teamleiter oder dem Projektleiter das "Warum", "Was", "Wie" und "Wann" Ihres Mitwirkens an Slint besprechen.
Lesen Sie unten bitte Praktische Erwartungen an Übersetzer.
Danach machen Sie sich mit den Tools vertraut, die wir nutzen. Um sie besser nutzen zu können, brauchen Sie eine installierte Linux-Distribution, vorzugsweise ein komplettes Slackware-System, inkl. folgender Pakete:
../extra/aspell-words-lists/<Paket für Ihre Sprache> für Rechtschreibprüfung
../kdei/<Paket kde-l10n für Ihre Sprache> um die Benutzeroberfläche für Lokalize zu lokalisieren, falls Sie es nutzen
Und nicht zuletzt ist es wichtig, dass wir als Team zusammenarbeiten, also:
Registrieren Sie sich bitte bei Transifex, auch wenn Sie den Online-Editor nicht nutzen, dann prüfen Sie Ihre Benachrichtigungseinstellungen, damit es einfacher ist, alle Mitarbeiter gleichzeitig über Angelegenheiten zu informieren, die von allgemeinem Interesse sind. Bitte geben Sie Ihren vollen Namen an, auch wenn Sie einen Spitznamen nutzen.
Wir empfehlen dringend, dass Sie der slint-translators mailing-list beitreten. Das erlaubt Ihnen Fragen zu stellen und zu beantworten, an Diskussionen teilzunehmen, sowie Empfehlungen und Vorschläge zu machen.
Stellen Sie Ihre E-Mail-Adresse bereit, damit die Teamleiter und der Projektleiter von Slint Sie erreichen können.
Sie können auch die Diskussions-Funktion nutzen, die bei Transifex auf der Seite Ihrer Sprache im Slint-Projekt zur Verfügung steht.
Sie können ebenfalls dieses Thema im Slackware-Forum von LinuxQuestions.org mitverfolgen. Registrieren Sie sich dafür bei LQ und schreiben entweder eine Mitteilung zu diesem Thema oder klicken auf "Thread Tools" ⇒ "Subscribe to this Thread" (in einem dunkelblauen Querbalken oberhalb des ersten angezeigten Beitrags).
Zur Zeit des Verfassens sind der Slint-Installer und wichtige Administrationsprogramme komplett ins Französische, Deutsche, Polnische, Portugiesische, Russische, Spanische und Ukrainische übersetzt. Weitere Übersetzungen sind in Bearbeitung und ihr Status kann hier überprüft werden.
Handbuchseiten sind in mehrere Sprachen übersetzt und komplette Übersetzungen sind in der Datei MAN_PAGES.TXT aufgelistet.
Die übersetzten Inhalte werden in Form von Dateien gespeichert, die die ursprünglichen englischen Texte neben den Übersetzungen beinhalten, genannt PO-Dateien. Diese werden von GNU Gettext verarbeitet. Jede vorgegebene Reihe von Texten (im Falle von Slint auf Englisch) die übersetzt werden soll, ist in einer sog. POT-Datei gespeichert. Daraus erstellen die Übersetzer für jede Zielsprache eine PO-Datei (für mehr Details siehe Internationalization and localization of shell scripts auf SlackDocs).
Texte in POT-Dateien werden aus einem oder mehreren Shell-Skripten oder Handbuchseiten erfasst. Hier ist die aktuelle Liste der POT-Dateien von Slint und ihre Umfänge (siehe Werkzeuge um mehr über die Anwendung der Werkzeuge zu erfahren).
POT-Dateiname | Ressourcenname (Transifex) | Umfang | passendes Werkzeug |
---|---|---|---|
slackware.pot |
Slint-Installer
Slint-Paket (ohne Handbuchseiten) |
toolbox.sh |
|
pkgtools.pot |
Handbuchseiten des Pakets pkgtools |
gen_man_pages |
|
slackpkg.pot |
Hanbuchseiten des Pakets slackpkg |
gen_man_pages |
|
slint.pot |
Skript slint.sh, siehe Werkzeuge |
toolbox_slint_sh |
|
index.html.pot |
(keins) |
||
template.pot |
Seitenleiste und Titelleiste der Webpage von Slint |
(keins) |
|
(keiner) |
(keins) |
||
(keiner) |
(keins) |
||
(keiner) |
(keins) |
||
(keiner) |
(keins) |
||
(keiner) |
(keins) |
||
(keiner) |
(keins) |
||
(keiner) |
(keins) |
Unsere alte Homepage wurde direkt in xhtml geschrieben. Sie wurde in 13 Sprachen übersetzt und wird stufenweise durch die aktuelle ersetzt, vorläufig slint.html genannt.
Webseiten sind im Menü in der Seitenleiste gelistet. Die Homepage wird stufenweise die alte ersetzen, welche nicht mehr übersetzt und aktualisiert wird.
Manche der Webseiten sind für Endbenutzer gedacht: slint.html, installer.html und package.html. Der Übersetzung dieser Seiten und von template.po (wird für die übersetzte Titelleiste und linke Seitenleiste der Webseite benutzt) sollte man Priorität geben.
Andere Webseiten: Beitragen, Übersetzer, Werkzeuge und ChangeLog dürfen auch übersetzt werden, aber nachdem die Seiten im obigen Abschnitt übersetzt wurden.
Bei der Übersetzung von template.po ist es besser, für Seiten die (noch) nicht übersetzt wurden, die Namen auf englisch zu lassen. So können dann Besucher an den Menüpunkten erkennen, dass sie beim Anklicken eine englischsprachige Seite angezeigt bekommen. |
Alle neuen Seiten werden von dem Programm AsciiDoc erzeugt, das standardmäßig mit Slackware mitgeliefert wird (Paket "linuxdoc-tools"). Die Quelldateien sind Textdateien mit Formatierungsbefehlen für AsciiDoc. Wenn z.B. eine Zeile mit zwei gleichen Zeichen beginnt, wird sie als Kopfzeile zweiter Ebene interpretiert und als <h2>-Markierung in die XHTML-Datei geschrieben. Diese Datei wird von AsciiDoc generiert.
Spezifische Anweisungen und Tipps zum Übersetzen von Textdateien, die von AsciiDoc verarbeitet werden, finden Sie unter Übersetzen von Textdateien, aus denen AsciiDoc Webseiten erstellt.
Wenn die Datei template.po übersetzt wird, werden für jede Sprache die Seiten slint.html, installer.html und package.html erstellt, die alte Homepage wird durch die neue ersetzt, sodass die Endbenutzer von neuen Seiten in ihrer Sprache profitieren.
Bedingt durch die Menge der Aufgaben und verfügbaren Ressourcen, können ein oder mehrere Übersetzer(innen) an einer Sprache beteiligt sein. In allen Fällen empfehle ich, dass wenigstens eine Person für die Organisation der Arbeit des Teams verantwortlich ist, die Übersetzungen prüft und an den/die Projektleiter weitergibt. Nennen wir ihn Team-Organisator.
Fühlen Sie sich nicht dazu verpflichtet wörtlich zu übersetzen. Nicht nur weil das selten der beste Weg ist, sondern zusätzlich führt das oft zu Sätzen, die zu lang für den verfügbaren Platz sind.
Benutzen Sie einen spezialisierten PO-Editor und nicht einen normalen Texteditor. Das vermeidet nicht nur das versehentliche bearbeiten von msgid-Zeichenketten, sondern erleichtert auch Ihre Arbeit und automatisiert zusätzliche Checks, wie das Vorkommen von Variablen in der Übersetzung mit derselben Schreibweise wie im Originaltext.
Nehmen Sie für die Übersetzung eine Schriftart mit fester Breite, wie z.B. Courier. Das ermöglicht eine optische Unterscheidung zwischen Zeichen, die sonst gleich aussehen könnten. Wenn es eine Rolle spielt, prüfen Sie auch die Zeilenlänge. Prüfen Sie, wenn möglich, auch das Layout der Übersetzung. Das könnten Sie machen, indem Sie die Übersetzung mit dem entsprechenden Quelltext vergleichen. Noch besser ist es, das übersetzte Skript auszuführen. Das ist besonders wichtig, wenn Sie Dialogfenster übersetzen. Vor allem passen Sie auf, keine zu langen Sätze in eine Zeile zu schreiben, wenn der Text nicht in eine neue fließen kann.
Berücksichtigen Sie, dass die Zeilenbreite im VGA-Modus (der von Text-basierten Installationsprogrammen verwendet wird) theoretisch auf 80 Zeichen beschränkt ist, praktisch aber oft auf 74.
Fügen Sie keine Fragezeichen hinzu, die nicht auch im Originaltext vorkommen.
Wenn der Text eines Dialogfensters zu Tags gehört (Schaltflächentext), wie "OK", "Yes", "No", "Continue", "Cancel", prüfen Sie wie diese Tags in Dialogfenstern Ihrer Sprache übersetzt werden und benutzen Sie die gleichen Wörter.
Vermeiden Sie umgangssprachliche Ausdrücke und technischen Jargon
Um eine Zeile in einem Dialogfensters "umzubrechen" (oder zu beenden), sollten Sie \n eingeben: Durch Drücken der [Eingabetaste] wird kein "Zeilenumbruch" in den Text eingefügt, den der Benutzer zu sehen bekommt.
Zusätzlich müssen Sie die Bedingungen von Gettext erfüllen, damit es funktioniert:
Wenn im Originaltext ein Wort mit einem Dollarzeichen beginnt, sollte es in die Übersetzung mit genau der gleichen Zeichenfolge übernommen werden (Groß-Klein-Schreibung beachten).
Ein Zeichen für "Zeilenumbruch" (also "\n") am Anfang oder am Ende einer Zeile, sollte in der Übersetzung genau dort eingefügt werden, wie im Original. Wenn der Originaltext keinen "Zeilenumbruch" hat, sollte die Übersetzung auch keinen haben.
Ein einzelner umgekehrter Schrägstrich "\" ist in der Übersetzung nicht erlaubt.
Um die Übersetzung auf die Bedingungen von Gettext zu prüfen, können Sie folgenden Befehl aufrufen:
msgfmt -c <Name der PO-Datei>
Behalten sie sorgfältig die Syntax der Textzeichen aus dem englischen Originaltext bei. Zum Beispiel übersetzen Sie nicht:
B< durch B < (Fügen Sie kein Leerzeichen ein)
B< durch b< (B muss ein Großbuchstabe sein - und ersetzen Sie ihn nicht duch ein griechisches BETA, das ihm auf dem Bildschirm zum Verwechseln ähnlich sieht).
I durch | (ersetzen Sie nicht den Großbuchstaben I durch einen vertikalen Strich oder umgekehrt, das gleiche gilt für das kleine L)
Wenn nötig, behalten Sie beim Übersetzen von Shell-Befehlen die englischen Namen in Pfadangaben bei. Aber Sie können und sollten Argumente mit Werten wie packagename übersetzen.