Available Languages: | Deutsch | English | Français | 中文 (简) (Simplified Chinese) |

Fink Internationalisierung-Anleitung (i18n)

Diese Dokument befindet sich noch in Bearbeitung.

Herzlich willkommen auf der Fink-Webseite mit der Internationalisierung-Anleitung. Die Intention dieses Dokuments ist es, die Leitlinien für die darzulegen, die zu den i18n-Bestrebungen der Fink Webseiten beitragen wollen.

Contents

1 Einführung

1.1 Was ist der Stand der Internationalisierung der Fink Webseiten?

Das Projekt Fink hat begonnen, seine Webseiten komplett zu internationalisieren, damit sie weltweit besser zugänglich ist. Besonderen Dank geht an Baba Yoshihiko, der einen Rahmen erstellt hat, in dem mehrere Sprachen verwendet werden können.

1.2 Sprachen

Für folgende Sprachen gibt es Freiwillige:

1.3 Organisation

Ein Diagramm des i18n-Team gibt es hier.

1.4 Helfen

Wenn sie die Internationalisierungsbestrebungen unterstützen wollen, gibt es mehrere Möglichkeiten:

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 /

3 Dokumente aktualisieren

Die englische Dokumentation muss zuerst aktualisiert werden, weil sie die Basis ist. Die Aktualisierung kann von einem Mitglied des i18n-Teams (also englische Dokumentatoren) oder einem Mitglied des Core-Teams kommen.

Damit alles glatt geht, sollte wie folgt vorgegangen werden:

3.1 Aufruf für Übersetzungen

Wird ein neues Dokument erstellt oder erfolgen Änderungen der englischen Dokumentation, sollte eine Nachricht in der Mailing-Liste fink-18n verfasst werden, die alle Übersetzer darüber informiert. Die Nachricht sollte folgendes enthalten:

Notiz: Lädt man eine xml-Datei hoch wird automatisch eine Nachricht auf fink-commits erzeugt, die alle Kriterien erfüllt. Das einfachste ist deshalb, diese Nachricht mit einem angepassten Betreff weiter zu leiten. Sind allerdings viele Änderungen gemacht wurden, klappt das leider nicht.

3.2 Neues Dokument

Die englische Version des Dokuments wird hoch geladen und aktiviert und übersetzt wie unten beschrieben.

Notiz: Befindet sich das neue Dokument in einem neuen Ordner, sollten sie den neuen Ordner im Makefile hinzufügen, der im Ordner xml ist. Ansonsten wird die Erstellung der Dokumentaion nicht erfolgreich sein

3.3 Neue Übersetzungen

Der Team-Leiter einer Sprache (oder sonst jemand mit CVS-Zugang) lädt jedes Dokument hoch und aktiviert es, sobald es fertig ist.

Diese Klassifizierung umfasst:

3.4 Sofortige Aktualisierung der existierenden Dokumentation

Die englische Basisdokumentation wird hoch geladen und sofort aktiviert. Wer die xml-Dateien geändert hat, sollte auch die HTML- und PHP-Dateien hoch laden und aktivieren. Die Übersetzungsteams aktualisieren dann ihre Versionen, laden alle Dateien (XML und PHP) hoch und aktivieren dann die Änderungen.

Niemals die erzeugten php-Dateien ändern; statt dessen immer die xml-Datei ändern.

Überprüfen, dass die Zeile mit cvsid am Anfang der xml-Datei nicht aufgeteilt ist.

Notizen:

  1. Änderungen in der Internationalisierung-Anleitung (diese Dokument) werden immer nach diesem Schema gemacht, weil sie alle Übersetzungsteams betreffen.
  2. Änderungen der statischen Dokumente (php-Dateien, die nicht aus xml-Dateien erzeugt werden) werden auch immer nach diesem Schema gemacht, weil es schwierig ist, sie mit einer Verzögerung zu aktivieren.

3.5 Verzögerte Aktualisierung existierender Dokumente (nur für Dateien, die aus xml-Dateien erzeugt werden)

In diesem Fall wird die englische Version der xml-Datei hoch geladen, aber nicht die php- und html-Dateien, d.h. Stopp nach Schritt 5 unter Dynamisch in Kapitel 2.9. Alle Übersetzer erledigen ihre Arbeit und laden innerhalb eines vereinbarten Zeitraums nur ihre xml-Datei hoch (d.h. genau wie für Englisch). Alle php- und html-Dateien werden erzeugt, hoch geladen und gleichzeitig von einer Person, sprich jemand aus dem i18n-Core-Team, zu einem vereinbarten Zeitpunkt aktiviert.

3.6 Für Entwickler und Dokumentatoren für Englisch

Derzeit wird bei allen Dokumenten nach dem Schema sofortige Aktualisierung verfahren, außer es liegen wirklich gewichtige Gründe für eine Ausnahme vor.

4 Zusätzliche Quellen

4.1 Wichtige Links

Internationalisierung ist ein kompliziertes Thema. Die unten angegebenen Quellen enthalten wertvolle Hinweise und sind gut geeignet, wenn man sich tiefer mit dem Thema beschäftigen möchte.

  1. Unicode in XML and other Markup Languages
  2. Tutorial: Character sets & encodings
  3. W3C Internationalization Activity
  4. UTF-8 and Unicode FAQ for Unix/Linux

4.2 Editoren

Es gibt viele Editor-Programme für die Bearbeitung von Textdateien. Die kurze Liste enthält unsere Empfehlungen. Einige Editoren sind kompliziert zu benutzen oder nur für die Kommandozeile, also nicht für jedermann. Das Ziel ist, dass für jeden etwas dabei ist.

4.3 Nützliche Tools

Die Kommandozeile ist nicht für jedermann. Die folgenden Tools sind meist grafische Oberflächen für die Kommandozeilen-Tools. In der Hoffnung, dass sie helfen.

5 Anhang

5.1 CVS codes

Aktualisiert man sein cvs checkout, stehen manchmal Buchstaben vor den Dateinamen. Damit werden folgende Zustände der Datei angezeigt:


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2015 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.


Generated from $Fink: multilingual.de.xml,v 1.1 2015/02/19 15:28:47 k-m_schindler Exp $