Fink

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:

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:

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.

  1. Nur für Team-Leiter: Ändern sie ihre login-Dateien und fügen sie die CVS_RSH-Umgebungsvariable hinzu.
    1. Benutzen sie bash oder zsh, fügen sie folgendes
      export CVS_RSH=ssh
      in ihrer Datei .profile hinzu.
    2. Benutzen sie tcsh fügen sie folgendes
      setenv CVS_RSH ssh
      in ihrer Datei .cshrc hinzu.

      Dadurch verwendet cvs ssh für den Zugriff auf Dateien. Dies ist erforderlich.

  2. 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:

  1. Öffnen sie ein Terminal
  2. Erzeugen sie irgendwo einen Ordner für den Fink xml-Ast, z. B mit:
    mkdir -p ~/Documents/Fink-i18n
  3. Wechseln sie in den Ordner:
    cd ~/Documents/Fink-i18n
  4. Für Team-Mitglieder ohne Leitungsfunktion (oder Team-Leiter, die auf Zugang warten): Anonymer Login auf fink.cvs.sourceforge.net:
    1. cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink login
    2. Drücken sie die Enter-Taste (kein Passwort, anonym als Voreinstellung)
    3. "Check out" der xml-Module:
      cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink co xml
    Team-Leiter: "Check out" unter Benutzung des Nutzernamens:
    1. 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.
    2. In diesem Fall sollten sie ihr Passwort bei SourceForge eingeben.

2.4 Datei-Standards

Als Übersetzer müssen sie zwei Datei-Standards beachten:

  1. 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.

  2. 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:

  1. Wechseln sie in den Ordner, in dem sich die Dateien befinden, z. B.:
    cd ~/Documents/Fink-i18n/xml
  2. Aktualisieren sie:
    cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink update -dP
    für Team-Mitgleider ohne "Commit"-Zugang. oder
    cvs 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)

  1. Konstanten-Dateien: (e.g. xml/web/constants.*.inc) (siehe unten)
  2. Statische PHP-Dateien (e.g. xml/web/*.de.php)
  3. Navigations-Dateien der Dokumentation (e.g. xml/web/doc/nav.*.inc) (wie constants.*.inc behandeln)
  4. Dokumentationsindex (xml/doc/doc.de.xml)
  5. Benutzerhandbuch (xml/users-guide/uguide.de.xml)
  6. Fortgeschrittenes (xml/advanced/advanced.de.xml)
  7. FAQ (xml/faq.en.xml)
  8. X11 (xml/x11/x11.de.xml)
  9. CVS Zugang (xml/cvsaccess/cvs.de.xml)
  10. LiesMich (xml/fink-readme/readme.de.xml)
  11. Internationalisierung (xml/multilingual/multilingual.de.xml)
  12. Sicherheit (xml/security/security.de.xml)
  13. Paketerstellung Tutorial (xml/quick-start-pkg/quick-start-pkg.de.xml)
  14. Paketerstellung (xml/packaging/packaging.de.xml)
  15. Porting (xml/porting/porting.de.xml)
  16. 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):

  1. Kopieren sie die xml-Datei
    cp x11.en.xml x11.fr.xml
  2. Ä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" > ...
  3. Sehr wichtige Notiz: Überprüfen sie, dass die Zeile mit "cvsid" am Anfang der Datei nicht geteilt ist.
  4. 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.
  5. 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.

2.8 Wenn sie "Commit" Zugang haben (Team-Leiter)

Wenn sie "Commit" Zugang haben, sollten sie

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.

2.10 Aktualisieren unserer Webseite

Wollen sie das Ergebnis ihrer Anstregungen jetzt gleich auf unserer Webseite sehen? Dann machen sie folgendes:

  1. Öffnen sie ein Terminal.
  2. Anmelden auf dem Webserver mittels ssh:
    ssh username@shell.sourceforge.net
    Sie müssen ihr SourceForge-Passwort eingeben.
  3. Wechseln sie in den Ordner, der die Webseiten enthält:
    cd /home/groups/f/fi/fink/htdocs
  4. Aktualisieren sie die Webseiten aus dem cvs:
    ./update.sh
    Wichtige Notiz: Wenn sie dies machen, aktivieren sie alles, das in den Ordner web/xml geschoben wurde.
  5. Abmelden von Webserver:
    exit
  6. Anschauen:
    open /

Weiter: 3. Dokumente aktualisieren