Available Languages: | Deutsch | English | Français | 中文 (简) (Simplified Chinese) | |
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.
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.
Für folgende Sprachen gibt es Freiwillige:
Ein Diagramm des i18n-Team gibt es hier.
Wenn sie die Internationalisierungsbestrebungen unterstützen wollen, gibt es mehrere Möglichkeiten:
Beachten sie aber bitte, dass im Fall, dass sie als erster mit einer Sprache anfangen, recht viele Dokumente zu übersetzen sind. Ist das aber erst einmal geschafft, fällt nicht mehr viel Arbeit für Änderungen und Ergänzungen an.
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.
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.
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.
export CVS_RSH=sshin ihrer Datei .profile hinzu.
setenv CVS_RSH sshin ihrer Datei .cshrc hinzu.
Dadurch verwendet cvs ssh für den Zugriff auf Dateien. Dies ist erforderlich.
cvs -z3Damit 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.
Als erstes benötigt man den xml-Ast der Webseiten:
mkdir -p ~/Documents/Fink-i18n
cd ~/Documents/Fink-i18n
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink login
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink co xml
cvs -d:ext:yourusername@fink.cvs.sourceforge.net:/cvsroot/fink co xmlwobei 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.
Als Übersetzer müssen sie zwei Datei-Standards beachten:
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.
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.
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:
cd ~/Documents/Fink-i18n/xml
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink update -dPfür Team-Mitgleider ohne "Commit"-Zugang. oder
cvs update -dPfü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.
Die Dateien, die man übersetzen muss, sind in der Reihenfolge ihrer Bedeutung:
Titel (Datei der englischen Version)
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):
cp x11.en.xml x11.fr.xml
<?xml version='1.0' encoding='utf-8' ?> ... <document filename="index" lang="fr" > ...
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.
Bevor ihre Arbeit auf die Fink Webseite hoch geladen wird, sollten sie überprüfen, wie das Dokument aussieht.
sudo pico /etc/httpd/httpd.conf
#LoadModule php libexec/httpd/libphp4.sound entfernen sie "#"
#AddModule mod_php4.cund entfernen sie "#"
AddType application/x-httpd-php .phpund stellen sie ein "#" an den Anfang.
http://127.0.0.1/~USERNAME/xml/web/index.phpwobei USERNAME durch ihren Nutzernamen ersetzt werden muss.
Wenn sie "Commit" Zugang haben, sollten sie
cat ~/.ssh/id_dsa.pub | pbcopyDamit 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.
cd ~/Documents/Fink-i18n
cvs -d:ext:yourusername@fink.cvs.sourceforge.net:/cvsroot/fink co xmlwobei yourusername natürlich ihr Nutzername bei SourceForge ist. Geben sie auf Nachfrage ihr Passwort ein.
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.
cd ~/Documents/Fink-i18n/xml/web
Haben sie ihren xml-Baum unter Documents/Fink-i18n/ in ihrem Heimatordner und sie wollen eine PHP-datei aus dem Ordner xml/web hochladen.
cvs add download.ru.phpGeben sie nach dem Prompt ihr SourceForge-Passwort ein.
Existierte die Datei bereits, können sie zum nächsten Schritt springen.
cvs ci -m "message" download.ru.phpwobei 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.
cd ~/Documents/Fink-i18n/xml/faq, wenn sie die FAQs bearbeitet haben.
make checkDies stellt sicher, dass die Datei korrekt ist.
cvs add faq.ru.xml MakefileGeben sie nach dem Prompt ihr SourceForge-Passwort ein.
Existierte die Datei bereits, können sie zum nächsten Schritt springen.
cvs ci -m "message" faq.ru.xml Makefilewobei message beschreiben sollte, was sie geändert haben. Geben sie nach dem Prompt ihr SourceForge-Passwort ein.
make && make install
cd ../scripts/installer/dmgund erzeugen sie den Ordner mit:
mkdir -p foo. Kehren sie dann zurück in den vorigen Ordner und wiederholen sie
make && make install.
cd ~/Documents/Fink-i18n/xml,
wenn sie ihren xml-Baum im Ordner Documents/Fink-i18n/ in ihrem Heimatordner erzeugt haben.
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.htmlFür andere Dokumente heißen die Dateien natürlich anders. Verwenden sie alle Dateien, die mittels make install erzeugt wurden.
Existierte die Datei bereits, können sie den nächsten Schritt überspringen.
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.
Wollen sie das Ergebnis ihrer Anstregungen jetzt gleich auf unserer Webseite sehen? Dann machen sie folgendes:
ssh username@shell.sourceforge.netSie müssen ihr SourceForge-Passwort eingeben.
cd /home/groups/f/fi/fink/htdocs
./update.shWichtige Notiz: Wenn sie dies machen, aktivieren sie alles, das in den Ordner web/xml geschoben wurde.
exit
open /
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:
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:
diff -Nru3 -rlast_revision rheaddamit man die Änderungen in ihrem Kontext sehen kann.
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.
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
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:
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:
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.
Derzeit wird bei allen Dokumenten nach dem Schema sofortige Aktualisierung verfahren, außer es liegen wirklich gewichtige Gründe für eine Ausnahme vor.
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.
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.
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.
Aktualisiert man sein cvs checkout, stehen manchmal Buchstaben vor den Dateinamen. Damit werden folgende Zustände der Datei angezeigt:
Sie haben folgende Möglichkeiten
rm file; cvs update file
wobei file die Datei ist. Danach muss man die Änderungen noch einmal vornehmen, die man aus der Sicherung der Datei .#file-version übernehmen kann, wobei version die Revision ist, mit der man angefangen hat.
Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2020 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 $