i18n - 2. Die Dokumentationsdateien
In diesem Kapitel werden die Dokumentationsdateien von Fink erklärt, wie man auf sie zugreift, wie man Änderungen an die Fink-Webseiten sendet und sie aktiviert.
2.1 Voraussetzungen
Will man im Übersetzungsteams mitarbeiten, braucht man:
- Einen CVS-Klienten, mit dem man die Dokumentation aus dem Fink XML-Baum herunter lädt.
- Einen UTF-8 kompatibler Text-Editor. Ein spezieller XML-Editor ist von Vorteil, weil viele Dateien der Fink-Webseite aus XML-Dateien erzeugt werden.
- Einen "Checkout" des Fink XML-Baums, wie in den Anleitungen unten beschrieben.
- Kenntnisse über die Arbeitsweise von Fink sind von Vorteil.
Notiz: Als "Team-Mitglied" bezeichnet man Übersetzer, die aber letztlich nicht dafür verantwortlich sind, die Dateien auf die Fink-Webseiten hoch zu laden.
"Team-Leiter" müssen die obigen Voraussetzungen erfüllen. Darüber hinaus sollten sie aber auch noch folgendes haben:
- Ein Konto bei SourceForge (kostenlose Registrierung).
- "Commit"-Zugriff auf den Fink-Dokumentationsbaum. Senden sie dafür eine Nachricht an die Mailing-Liste fink-18n, in der sie ihren SourceForge-Nutzernamen mitteilen. Sobald jemand aus dem i18n-Kern-Team es einrichtet, haben sie CVS-Zugang zur Dokumentation.
Notiz: Als "Team-Leiter" werden die bezeichnet, die tatsächlich für das Hochladen geänderter Dateien auf die Fink- Webseite verantwortlich sind und diese Änderungen aktivieren.
2.2 Einstellungen der Umgebung
Es ist ratsam, einige Einstellungen in der Umgebung vorzunehmen, um sich später Tipparbeit zu sparen. Es wird im folgenden davon ausgegangen, dass man die eingebauten Kommandozeilen-Tools von Mac OS X oder einem anderen Unix-ähnlichen System benutzt.
-
Nur für Team-Leiter: Ändern sie ihre login-Dateien und
fügen sie die CVS_RSH-Umgebungsvariable hinzu.
-
Benutzen sie
bash
oderzsh
, fügen sie folgendesexport CVS_RSH=ssh
in ihrer Datei.profile
hinzu. -
Benutzen sie
tcsh
fügen sie folgendessetenv CVS_RSH ssh
in ihrer Datei.cshrc
hinzu.Dadurch verwendet
cvs
ssh für den Zugriff auf Dateien. Dies ist erforderlich.
-
Benutzen sie
-
Alle Mitgleider: Erzeugen sie eine Datei namens .cvsrc in
ihrem Heimatordner mit der folgenden Zeile:
cvs -z3
Damit arbeitet CVS mit Kompression der Stufe 3 als Voreinstellung (Das ist gut so!)
Nach diesen Einstellungen muss man ein neues Terminal-Fenster starten, damit sicher gestellt ist, dass die CVS_RSH-Umgebung eingeschaltet ist.
2.3 Dateien für die Bearbeitung herunter laden
Als erstes benötigt man den xml-Ast der Webseiten:
- Öffnen sie ein Terminal
-
Erzeugen sie irgendwo einen Ordner für den Fink xml-Ast, z. B mit:
mkdir -p ~/Documents/Fink-i18n
-
Wechseln sie in den Ordner:
cd ~/Documents/Fink-i18n
-
Für Team-Mitglieder ohne Leitungsfunktion (oder Team-Leiter,
die auf Zugang warten): Anonymer Login auf
fink.cvs.sourceforge.net:
-
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink login
- Drücken sie die Enter-Taste (kein Passwort, anonym als Voreinstellung)
-
"Check out" der xml-Module:
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink co xml
-
Man muss den obigen Login-Schritt nicht machen, sondern kann
gleich folgendes ausführen:
cvs -d:ext:yourusername@fink.cvs.sourceforge.net:/cvsroot/fink co xml
wobei yourusername natürlich ihr Nutzername bei SourceForge ist. Möglicherweise bekommen sie eine Meldung, dass der DSA-Schlüssel des Servers unbekannt ist. Einfach weiter machen und mit "yes" beantworten. - In diesem Fall sollten sie ihr Passwort bei SourceForge eingeben.
-
2.4 Datei-Standards
Als Übersetzer müssen sie zwei Datei-Standards beachten:
-
Statisch (nur PHP)
Die Organisation (sprich Nummerierung) dieser Dokumente sollte sich nicht täglich ändern. In diesem Fall besteht das Dokument aus einer PHP-Datei, die sie übersetzen müssen.
-
Dynamisch (XML erzeugt PHP- und HTML-Datei)
Diese Dokumente (z. B. die FAQ) werden häufiger aktualisiert und umstrukturiert und können deshalb dynamisch umstrukturiert werden. Sie nutzen eine XML-Datei aus Ausgangsbasis, aus der PHP- und HTML-Dateien mittels eines Skripts erzeugt werden. Als Übersetzer muss man die XML-Datei übersetzen.
Darüber hinaus muss man einige wenige andere Dateien übersetzen oder anpassen, wie z. B. Makefile, nav.xx.inc oder constants.xx.inc. Ohne diese Änderungen werden die neuen Seiten nicht auf der Webseite angezeigt oder zumindest nicht richtig.
Alle Dateien sind in utf-8 kodiert. Folglich sollten sie die Kodierung nicht ändern, außer sie ist falsch (also nicht utf-8). Sie sollten auch keine speziellen html-Features verwenden, außer denen, die schon in der englischen Datei vorhanden sind.
2.5 Aktualisierung auf die neueste Version
Seit sie die Dateien geladen haben, können andere Übersetzer bereits Änderungen vorgenommen haben (keine Angst. CVS kümmert sich darum). Es ist deshalb ratsam, die eigene Version regelmäßig auf die neueste Version zu aktualisieren. Dies erfolgt so:
-
Wechseln sie in den Ordner, in dem sich die Dateien befinden, z.
B.:
cd ~/Documents/Fink-i18n/xml
-
Aktualisieren sie:
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink update -dP
für Team-Mitgleider ohne "Commit"-Zugang. odercvs update -dP
für Teamleiter.
Vor einigen Dateinamen steht danach ein Buchstabe. Besuchen sie die Seite Anhang für weitere Informationen oder lesen sie die man pages von cvs nach.
2.6 Erste Übersetzung
Die Dateien, die man übersetzen muss, sind in der Reihenfolge ihrer Bedeutung:
Titel (Datei der englischen Version)
- Konstanten-Dateien: (e.g.
xml/web/constants.*.inc
) (siehe unten) - Statische PHP-Dateien (e.g.
xml/web/*.de.php
) - Navigations-Dateien der Dokumentation (e.g.
xml/web/doc/nav.*.inc
) (wie constants.*.inc behandeln) - Dokumentationsindex (
xml/doc/doc.de.xml
) - Benutzerhandbuch (
xml/users-guide/uguide.de.xml
) - Fortgeschrittenes (
xml/advanced/advanced.de.xml
) - FAQ (
xml/faq.en.xml
) - X11 (
xml/x11/x11.de.xml
) - CVS Zugang (
xml/cvsaccess/cvs.de.xml
) - LiesMich (
xml/fink-readme/readme.de.xml
) - Internationalisierung (
xml/multilingual/multilingual.de.xml
) - Sicherheit (
xml/security/security.de.xml
) - Paketerstellung Tutorial (
xml/quick-start-pkg/quick-start-pkg.de.xml
) - Paketerstellung (
xml/packaging/packaging.de.xml
) - Porting (
xml/porting/porting.de.xml
) - Neues (
xml/news/news.xml
)
Suchen sie auch in den Unterordnern von xml/web
nach php-, Konstanten- und Navigations-Dateien, die übersetzt werden
müssen.
Enthält eine php-Datei in xml/web
und den
Unterordnern am Anfang der Datei ein "Generated from", dann darf die
Datei nicht übersetzt werden. Suchen sie die entsprechende
xml-Datei im xml
-Baum und übersetzen oder
ändern sie diese.
Die Dateien constants.*.inc
und
nav.*.inc
dienen dazu, hart Kodiertes in den php
include-Dateien zu behandlen. Es dreht sich vor allem um
Menu-Einträge und ähnliches, die oben und links auf den Seiten
stehen. Sie sollten sie von den Skripten lösen und entsprechende
"constants.xx.inc"-Dateien in ihrer Sprache erstellen. Dafür geben
sie einfach folgendes Kommando im Terminalfenster ein:
cp constants.fr.inc constants.xx.inc
wobei xx durch ihren Sprachen-Code zu ersetzen ist (z. B. de für die deutsche Sprache). Als nächstes sollten sie die Teile der "Define"-Zeilen in einfachen Anführungsstrichen übersetzen. Versteht man kein Französisch, hier eine Übersetzung ins Englische:
Vergessen sie nicht das "locale" zu ändern z. B. en_US to de_DE für Deutsch.
/* The Sections. Used in Menu Navigation Bar */ define (FINK_LC_ALL, 'en_US'); /* The Sections. Used in Menu Navigation Bar */ define (FINK_SECTION_HOME, 'Home'); define (FINK_SECTION_DOWNLOAD, 'Download'); define (FINK_SECTION_PACKAGE, 'Packages'); define (FINK_SECTION_HELP, 'Help'); define (FINK_SECTION_FAQ, 'F.A.Q.'); define (FINK_SECTION_DOCUMENTATION, 'Documentation'); define (FINK_SECTION_MAILING_LISTS, 'Mailing Lists'); /* The Home Subsections. Used in Menu Navigation Bar */ define (FINK_SECTION_HOME_INDEX, 'Index'); define (FINK_SECTION_HOME_NEWS, 'News'); define (FINK_SECTION_HOME_ABOUT, 'About'); define (FINK_SECTION_HOME_CONTRIBUTORS, 'Contributors'); define (FINK_SECTION_HOME_LINKS, 'Links'); /* The word 'Sections'. Used in Menu Navigation Bar */ define (FINK_SECTIONS, 'Sections'); /* Used in FAQ/Documentation Sections: */ /* Contents as Table of contents, Next as next page */ /* Q as question, A as anwer */ define (FINK_CONTENTS, 'Contents'); define (FINK_NEXT, 'Next'); define (FINK_Q, 'Q'); define (FINK_A, 'A'); /* Printer */ define (FINK_PRINTER, 'Printer'); define (FINK_PRINT_VERSION, 'Print Version'); /* Footer */ define (META_KEYWORDS, 'Mac OS X, Fink, Debian, Macintosh, Apple, UNIX, Open Source, download, free software, port, development, package management'); define (META_DESCRIPTION, 'The Fink project wants to bring the full world of Unix Open Source software to Darwin and Mac OS X. We modify Unix software so that it compiles and runs on Mac OS X and make it available for download as a coherent distribution.'); define (HEADER_HOSTED_BY, 'Hosted by {img}'); define (FOOTER_AVAILABLE_LANGUAGES, 'Available Languages'); define (FOOTER_GENERATED_DYNAMICALLY, 'Generated dynamically from'); define (FOOTER_DATABASE_LAST_UPDATED, 'Last updated on %a, %d %B %Y, %R %Z'); define (FOOTER_LAST_CHANGED, 'Last changed by {author} on %a, %d %B %Y, %R %Z');
Notiz: die ersten Zeilen des Footer wurden zum Anzeigen geteilt. Auf keinen Fall in der Datei aufteilen.
Zum Übersetzen folgen sie den folgenden Schritten (angenommen sie übersetzen das Dokument Running X11 ins Französische):
-
Kopieren sie die xml-Datei
cp x11.en.xml x11.fr.xml
-
Ändern sie die Zeile, dass die Datei in Französisch ist und seine
Kodierung UTF-8
<?xml version='1.0' encoding='utf-8' ?> ... <document filename="index" lang="fr" > ...
- Sehr wichtige Notiz: Überprüfen sie, dass die Zeile mit "cvsid" am Anfang der Datei nicht geteilt ist.
- Speichern mit utf-8-Kodierung. Beachten sie, dass die Kodierung utf-8 sein muss und dass wirklich nur tatsächlicher Text und nichts anderes geändert wird.
-
Sind sie fertig oder wollen sie testen, editieren sie die Datei
Makefile
und fügen sie ihre Sprache hinzu:LANGUAGES_AVAILABLE = en ja fr
geben sie dann im Ordner das Kommando:
make
ein. Dies sollte die php-Dateien (und möglicherweise noch andere) entsprechend der Sprachen im Makefile erzeugen.
Notiz: Sollten sie Fehler in der englischen Datei finden, dann nicht ändern, sondern einen Bericht auf der Mailing-Liste fink-i18n erstellen, damit die englische "Master"-Datei geändert wird.
2.7 Arbeit überprüfen
Bevor ihre Arbeit auf die Fink Webseite hoch geladen wird, sollten sie überprüfen, wie das Dokument aussieht.
- Der einfache Weg: Öffnen sie die HMTL- und PHP-Dateien in ihrem Web-Browser. PHP-Dateien sehen allerdings nicht exakt so aus wie auf der Webseite.
-
Der beste Weg: Sie können ihren eingebauten Webserver
dazu benutzen, sich die Seiten so anzeigen zu lassen, wie sie auf
der Fink-Webseite aussehen. Angenommen sie benutzen den
vorhandenen Server:
-
Editiere
/etc/httpd/httpd.conf
, z. B. mittels:sudo pico /etc/httpd/httpd.conf
-
Suchen sie diese Zeile:
#LoadModule php libexec/httpd/libphp4.so
und entfernen sie "#" -
Suchen sie diese Zeile:
#AddModule mod_php4.c
und entfernen sie "#" -
Haben sie eine Version von Apache, die älter is als die
built-in Version auf Panther, dann suchen sie nach einer Zeile,
die so oder so ähnlich aussieht:
AddType application/x-httpd-php .php
und stellen sie ein "#" an den Anfang. - Speichern sie die Datei und beenden sie den Editor.
- Starten sie Personal Web Sharing in den Systemeinstellungen. Läuft es bereits, dann schalten sie es aus und wieder ein.
-
Der einfachste Weg, alles sichtbar zu machen, ist es, den
"Checkout" des
xml
-Baums in den OrdnerWebsites
in ihrem Heimatordner zu ziehen. Die Homepage lässt sich dann im WebBrowser mit der folgenden URL öffnen:http://127.0.0.1/~USERNAME/xml/web/index.php
wobeiUSERNAME
durch ihren Nutzernamen ersetzt werden muss.
-
Editiere
2.8 Wenn sie "Commit" Zugang haben (Team-Leiter)
Wenn sie "Commit" Zugang haben, sollten sie
-
Einen SSH-Schlüssel für ihr Konto bei SourceForge erstellen.
- Erstellen sie den Schlüssel auf ihrem Rechner, indem sie den Anweisungen von SourceForge folgen.
-
Geben sie folgendes Kommando im Terminal ein:
cat ~/.ssh/id_dsa.pub | pbcopy
Damit wird der Inhalt der Datei direkt und ohne Zeilenenden in ihr Pasteboard kopiert. Versichern sie sich, dass sie nichts anderes in ihr Pasteboard kopieren bis sie fertig sind. - Login mit ihrem Konto bei SourceForge.
- Wählen sie "Account Options" aus.
- Gehen sie zu "Host Access Information" und klicken sie "Edit SSH Keys for Shell/CVS" an.
- Klicken sie auf das Formular und geben sie Cmd-A, Cmd-V ein.
- Klicken sie den Knopf.
-
Machen sie einen "Checkout" des
xml
-Baums unter Verwendung ihres Nutzernamens.-
Nach einem "Checkout" des gesamten
xml
-Baums sollten sie ihre lokale Kopie umbenennen. Dafür können sie den Finder nehmen. -
Schieben sie diesen Ordner auf ein Terminalfenster:
cd ~/Documents/Fink-i18n
-
Machen sie den "Checkout" des xml-Baums:
cvs -d:ext:yourusername@fink.cvs.sourceforge.net:/cvsroot/fink co xml
wobei yourusername natürlich ihr Nutzername bei SourceForge ist. Geben sie auf Nachfrage ihr Passwort ein. - Kopieren sie die bearbeiteten Dateien aus ihrem alten Baum in den neuen. Nehmen sie dazu ruhig den Finder, aber achten sie darauf, dass die Dateien wirklich im selben Unterordner sind wie am Anfang.
-
Nach einem "Checkout" des gesamten
2.9 Änderungen übergeben (Team-Leiter)
Jetzt muss man die Änderungen auf den Hauptserver übertragen,
wofür man "Commit"-Zugang benötigt. Achten sie darauf, dass sie
die neueste Version von XSLT installiert haben, derzeit
libxslt-1.1.29-1
von Fink.
Das Vorgehen unterscheidet sich, je nachdem, ob es statische oder dynamische Dateien sind.
-
Statisch: (nur PHP-Dateien) Für den Upload machen sie
folgendes:
- Öffnen sie ein Terminal.
-
Wechseln sie in den Ordner mit den Dateien, die sie hoch laden
wollen, z. B.:
cd ~/Documents/Fink-i18n/xml/web
Haben sie ihren
xml
-Baum unterDocuments/Fink-i18n/
in ihrem Heimatordner und sie wollen eine PHP-datei aus dem Ordner xml/web hochladen. -
Ist die Datei neu von ihnen erstellt, müssen sie diese zuerst
zur Liste der Dateien hinzufügen:
cvs add download.ru.php
Geben sie nach dem Prompt ihr SourceForge-Passwort ein.Existierte die Datei bereits, können sie zum nächsten Schritt springen.
-
Laden sie die Datei hoch (commit). In unserem obigen Beispiel:
cvs ci -m "message" download.ru.php
wobei message beschreiben sollte, was sie geändert haben. Geben sie nach dem Prompt ihr SourceForge-Passwort ein.Notiz: Sie können mehrere Dateien auf einmal hochladen.
-
Dynamisch: (XML- und PHP-Dateien) Nach der Bearbeitung der
xml-Dateien müssen sie folgendes machen:
- Öffnen sie ein Terminal.
-
Wechseln sie in den Ordner mit den Dateien, die sie geändert
oder hinzugefügt haben, z. B.:
cd ~/Documents/Fink-i18n/xml/faq
, wenn sie die FAQs bearbeitet haben. -
Geben sie nun folgendes Kommando ein:
make check
Dies stellt sicher, dass die Datei korrekt ist. -
Haben sie die xml-Datei neu erstellt, müssen sie die xml-Datei
und ihr Makefile zur Liste der Dateien hinzufügen (unter der
Annahme, dass den Makefile geändert haben, um ihre Sprache
hinzu zu fügen.):
cvs add faq.ru.xml Makefile
Geben sie nach dem Prompt ihr SourceForge-Passwort ein.Existierte die Datei bereits, können sie zum nächsten Schritt springen.
-
Laden sie die Dateien hoch (commit):
cvs ci -m "message" faq.ru.xml Makefile
wobei message beschreiben sollte, was sie geändert haben. Geben sie nach dem Prompt ihr SourceForge-Passwort ein. -
Führen sie nun folgende Kommandos aus:
make && make install
-
Erhalten sie eine Fehlermeldung, dass ihr Ordner
foo
beixml/scripts/installer/dmg
nicht vorhanden ist, wechseln sie dort hin mit:cd ../scripts/installer/dmg
und erzeugen sie den Ordner mit:mkdir -p foo
. Kehren sie dann zurück in den vorigen Ordner und wiederholen siemake && make install
. -
Wechseln sie in ihre Kopie des Fink xml-Baums, also:
cd ~/Documents/Fink-i18n/xml
,wenn sie ihren
xml
-Baum im OrdnerDocuments/Fink-i18n/
in ihrem Heimatordner erzeugt haben. -
War die xml-Datei neu, muss man noch einiges in cvs
hinzufügen. Hat man z. B. FAQ bearbeitet, muss man folgendes
ausführen:
cvs add web/faq/index.en.php web/faq/general.ru.php \ web/faq/relations.ru.php web/faq/usage-fink.ru.php \ web/comp-general.ru.php web/faq/comp-packages.ru.php \ web/faq/usage-general.ru.php web/faq/usage-packages.ru.php \ web/faq/upgrade-fink.ru.php web/faq/mirrors.ru.php \ web/faq/faq.ru.html web/faq/header.ru.inc \ scripts/installer/dmg/faq.ru.html
Für andere Dokumente heißen die Dateien natürlich anders. Verwenden sie alle Dateien, die mittelsmake install
erzeugt wurden. -
Vergessen sie nicht, Dateien, die sie erzeugt haben (z. B.
onstants.xx.inc, header.xx.inc, nav.xx.inc, etc.), in cvs hinzu
zu fügen und hoch zu laden.
Existierte die Datei bereits, können sie den nächsten Schritt überspringen.
-
Laden sie den gesamten Baum hoch:
cvs ci -m "message"
wobei message wieder beschreiben sollte, was sie geändert haben (Verwenden sie ruhig die gleiche Beschreibung wie bei der xml-Datei). Geben sie nach dem Prompt ihr SourceForge-Passwort ein.
Der Grund, wieso man 2-mal hoch laden muss, ist, dass sicher gestellt sein muss, dass die Dateien einen korrekten Zeitpunkt der Erstellung haben, sowie die Person, die sie zuletzt geändert hat.
2.10 Aktualisieren unserer Webseite
Wollen sie das Ergebnis ihrer Anstregungen jetzt gleich auf unserer Webseite sehen? Dann machen sie folgendes:
- Öffnen sie ein Terminal.
-
Anmelden auf dem Webserver mittels ssh:
ssh username@shell.sourceforge.net
Sie müssen ihr SourceForge-Passwort eingeben. -
Wechseln sie in den Ordner, der die Webseiten enthält:
cd /home/groups/f/fi/fink/htdocs
-
Aktualisieren sie die Webseiten aus dem cvs:
./update.sh
Wichtige Notiz: Wenn sie dies machen, aktivieren sie alles, das in den Ordnerweb/xml
geschoben wurde. -
Abmelden von Webserver:
exit
-
Anschauen:
open /
Weiter: 3. Dokumente aktualisieren