Index: head/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.xml (revision 47398)
+++ head/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.xml (revision 47399)
@@ -1,499 +1,571 @@
Die Erzeugung der ZieldokumenteJohannKoisÜbersetzt von
-
-
Dieses Kapitels erklärt detailliert,
wie der Bau der Dokumentation organisiert
ist und wie Sie diesen Prozess mit &man.make.1;
beeinflussen können.
+
+
+ DocBook in verschiedene Ausgabeformate konvertieren
+
+ Aus einer einzigen DocBook-Quellcodedatei können
+ verschiedene Ausgabeformate erstellt werden. Welches Dateiformat
+ erstellt wird, wird über die Variable
+ FORMATS festgelegt. Eine Liste aller
+ verfügbaren Formate ist in KNOWN_FORMATS
+ gespeichert:
+
+ &prompt.user; cd ~/doc/en_US.ISO8859-1/books/handbook
+&prompt.user; make -V KNOWN_FORMATS
+
+
+ Häufige Ausgabeformate
+
+
+
+
+ FORMATS
+ Dateityp
+ Beschreibung
+
+
+
+
+
+ html
+ HTML, Einzeldatei
+ Eine einzelne book.html oder
+ article.html.
+
+
+
+ html-split
+ HTML, multiple Dateien
+ Multiple HTML-Dateien, eine
+ für jedes Kapitel oder für jeden Abschnitt. Dieser
+ Typ wird in der Regel für die Nutzung des Dokuments
+ auf einer Internetseite verwendet.
+
+
+
+ pdf
+ PDF
+ Portable Document Format
+
+
+
+
+
+ Welches Format verwendet wird, hängt vom jeweiligen
+ Dokument ab, in der Regel handelt es sich aber um
+ html-split. Weitere Formate werden über die
+ Variable FORMATS angegeben. Dabei können
+ Sie ein einzelnes Format, aber auch mehrere Formate gleichzeitig
+ definieren.
+
+
+ Das Dokument als eine einzelne HTML-Seite bauen
+
+ &prompt.user; cd ~/doc/en_US.ISO8859-1/books/handbook
+&prompt.user; make FORMATS=html
+
+
+
+ Das Dokument in den Formaten HTML-Split sowie
+ PDF bauen
+
+ &prompt.user; cd ~/doc/en_US.ISO8859-1/books/handbook
+&prompt.user; make FORMATS="html-split pdf"
+
+ Für den Bau der &os;-Dokumentation benötigte
WerkzeugeDie folgende Werkzeuge werden benötigt, um die
FDP-Dokumente zu bauen und zu installieren.Das wichtigste Werkzeug ist &man.make.1;, genauer
Berkeley Make.Der Bau von Paketen erfolgt unter FreeBSD mit
&man.pkg.create.1;.&man.gzip.1; dient zur Erstellung
komprimierter Versionen der Dokumentation. &man.bzip2.1; wird
ebenfalls unterstützt. Wollen Sie Pakete der Dokumentation
erstellen, benötigen Sie auch &man.tar.1;.Mit &man.install.1; installieren Sie die Dokumentation auf
Ihrem System.Die Makefiles des Dokumentationsbaums
verstehenInnerhalb des &os; Documentation Projects gibt es drei
verschiedene Arten von Makefiles:Ein
Makefile in einem
Unterverzeichnis gibt Anweisungen an dessen Dateien und
Unterverzeichnisse weiter.Ein
Dokument-Makefile beschreibt das
Dokument, das aus dem Inhalt des jeweiligen Verzeichnisses
gebaut werden soll.Make-Includes sind der
"Klebstoff", der für den Bau der Dokumentation
erforderlich ist. In der Regel heissen diese Dokumente
doc.xxx.mk.Unterverzeichnis-MakefilesDerartige Makefiles sind in der Regel
wie folgt aufgebaut:SUBDIR =articles
SUBDIR+=books
COMPAT_SYMLINK = en
DOC_PREFIX?= ${.CURDIR}/..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"Die ersten vier nicht-leeren Zeilen definieren die
&man.make.1;-Variablen
SUBDIR, COMPAT_SYMLINK,
und DOC_PREFIX.Die SUBDIR-Anweisung weist
(ebenso wie die COMPAT_SYMLINK-Anweisung)
einer Variable einen Wert zu und überschreibt dabei
deren ursprünglichen Wert.Die zweite SUBDIR-Anweisung zeigt,
wie man den aktuellen Wert einer Variable ergänzen
kann. Nach der Ausführung dieser Anweisung hat die
Variable SUBDIR den Wert
articles books.Die Anweisung DOC_PREFIX zeigt, wie
man einer Variable einen Wert zuweist (vorausgesetzt, die
Variable ist nicht bereits definiert). Eine derartige
Anweisung ist beispielsweise sinnvoll, wenn sich
DOC_PREFIX nicht dort befindet, wo es
vom Makefile erwartet wird.
Durch das Setzen dieser Variable kann der korrekte Wert an
das Makefile übergeben werden.Was heißt dies nun konkret? Mit den
SUBDIR-Anweisungen legen Sie fest, welche
Unterverzeichnisse beim Bau der Dokumentation eingeschlossen
werden müssen.COMPAT_SYMLINK wird zur Erstellung
von symbolischen Links zwischen den jeweiligen Dokumentsprachen
und deren offizieller Kodierung benötigt (so wird
beispielsweise doc/en nach
en_US.ISO-8859-1 verlinkt).DOC_PREFIX gibt den Pfad zum
Wurzelverzeichnis des Quellcode-Baums des FreeBSD Documentation
Projects an. Diese Vorgabe kann jederzeit durch einen eigenen
Wert ersetzt werden. Bei .CURDIR handelt es
sich um eine in &man.make.1; eingebaute
Variable, die den Pfad des aktuellen Verzeichnisses
enthält.Die letzte Zeile bindet doc.project.mk,
die zentrale, projektweite &man.make.1;-Datei
des &os; Documentation Projects, in den Bau ein. Diese Datei
enthält den "Klebstoff", der die diversen Variablen in
Anweisungen zum Bau der Dokumentation konvertiert.Dokument-MakefilesDiese Makefiles definieren diverse
make-Variablen mit Vorgaben
zum Bau der im Verzeichnis enthaltenen Dokumentation.Dazu ein Beispiel:MAINTAINER=nik@FreeBSD.org
DOC?= book
FORMATS?= html-split html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# SGML content
SRCS= book.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "$(DOC_PREFIX)/share/mk/docproj.docbook.mk"Die Variable MAINTAINER ist von
zentraler Bedeutung. Sie legt fest, wer für ein
bestimmtes Dokument des FreeBSD Documentation Projects
verantwortlich ist.DOC (ohne die Erweiterung
.xml) ist der Name des Hauptdokuments des
Verzeichnisses, in dem sich das Makefile befindet. Mit
SRCS-Anweisungen geben Sie alle Dokumente an,
aus denen das Dokument besteht. Zusätzlich binden Sie
damit wichtige Dateien ein, deren Änderung einen erneuten
Bau der Dokumentation erforderlich macht.Mit FORMATS geben Sie an, in welchen
Formaten die Dokumentation gebaut werden soll.
INSTALL_COMPRESSED enthält die
Standardvorgaben, die beim Bau komprimierter Pakte der
Dokumentation verwendet werden sollen. Der Variable
INSTALL_ONLY_COMPRESS (die in der
Voreinstellung leer ist) wird nur dann ein Wert zugewiesen,
wenn ausschließlich komprimierte Pakete der Dokumentation
erstellt werden sollen.Die Variable DOC_PREFIX und die
verschiedenen Include-Anweisungen sollten Ihnen ebenfalls
bereits vertraut sein.&man.make.1;-Includes des &os; Documentation ProjectsDiese Dateien lassen sich am besten verstehen, indem man sich
deren Inhalt näher ansieht. Konkret handelt es sich dabei
um folgende Dateien:doc.project.mk ist die
Haupt-Include-Datei, die bei Bedarf alle folgenden
Include-Dateien enthält.doc.subdir.mk sorgt dafür, dass
alle benötigten Verzeichnisse (und Unterverzeichnisse)
beim Bau der Dokumentation durchlaufen werden.doc.install.mk definiert Variablen,
die die Installation der Dokumentation beeinflussen.doc.docbook.mk wird verwendet, wenn
die Variable DOCFORMAT den Wert
docbook hat und die Variable
DOC gesetzt ist.doc.project.mkDiese Datei hat folgenden Aufbau:DOCFORMAT?= docbook
MAINTAINER?= doc@FreeBSD.org
PREFIX?= /usr/local
PRI_LANG?= en_US.ISO8859-1
.if defined(DOC)
.if ${DOCFORMAT} == "docbook"
.include "doc.docbook.mk"
.endif
.endif
.include "doc.subdir.mk"
.include "doc.install.mk"VariablenDOCFORMAT und MAINTAINER
enthalten Standardwerte, falls ihnen über das
Dokument-Makefile keine anderen Werte zugewiesen werden.Bei PREFIX handelt es sich um das
Präfix, unter dem die zum Bau der Dokumentation
erforderlichen SGML-Werkzeuge
installiert sind. In der Regel handelt es sich dabei um
/usr/local.PRI_LANG sollte auf die Sprache und
Kodierung eingestellt werden, die unter den Leser der
Dokumentation am häufigsten verwendet wird. Diese
Variable hat den Standardwert "US English".PRI_LANG beeinflusst nicht,
welche Dokumente gebaut werden können oder
sollen. Diese Variable wird lediglich dazu verwendet,
häufig verwendete Dokumente in das Wurzelverzeichnis
der installierten Dokumentation zu verlinken.BedingungenDie Zeile .if defined(DOC) ist ein
Beispiel für eine &man.make.1;-Bedingung, die (analog zum
Einsatz in anderen Programmen) festlegt, was geschehen soll,
wenn eine Bedingung "wahr" oder "falsch" ist.
defined ist eine Funktion, die
zurückgibt, ob die angegebene Variable existiert oder
nicht..if ${DOCFORMAT} == "docbook" testet,
ob die Variable DOCFORMAT den Wert
"docbook" hat. Ist dies der Fall, wird
doc.docbook.mk mit in den Bau
aufgenommen.Die zwei .endifs schließen die
zwei weiter oben definierten Bedingungen.doc.subdir.mkDen Inhalt dieser Datei hier zu beschreiben, würde
zu weit führen. Sie sollten aber nach dem Lesen der
vorangegangenen Abschnitte und der folgenden Ausführungen
in der Lage sein, Inhalt und Aufgabe dieser Datei zu
verstehen.VariablenSUBDIR legt die Unterverzeichnisse
fest, deren Inhalt beim Bau der Dokumentation inkludiert
werden muss.Mit ROOT_SYMLINKS wird der Name der
Verzeichnisse angegeben, die von ihrer tatsächlichen
Position aus in das Wurzelverzeichnis, unter dem die
Dokumentation installiert wird, verlinkt werden sollen.
Vorausgesetzt, bei der verwendeten Sprache handelt es sich
um die primäre Sprache (die über
PRI_LANG festgelegt wird).COMPAT_SYMLINK wird im Abschnitt
Unterverzeichnis-Makefiles
beschrieben.Targets und MakrosAbhängigkeiten
(Dependencies) werden
folgendermaßen definiert:
targetabhaengigkeit1 abhaengigkeit2 ....
Um target zu bauen, müssen Sie zuvor
die angegebenen Abhängigkeiten bauen.Daran anschließend können Anweisungen zum
Bau des angegebenen Targets folgen, falls der
Konvertierungsprozess zwischen dem Target und seinen
Abhängigkeiten nicht bereits früher definiert
wurde oder falls die Konvertierung nicht der
Standardkonvertierungsmethode entspricht.Die spezielle Abhängigkeit .USE
definiert das Äquivalent eines Makros._SUBDIRUSE: .USE
.for entry in ${SUBDIR}
@${ECHO} "===> ${DIRPRFX}${entry}"
@(cd ${.CURDIR}/${entry} && \
${MAKE} ${.TARGET:S/realpackage/package/:S/realinstall/install/} DIRPRFX=${DIRPRFX}${entry}/ )
.endforIn diesem Beispiel kann _SUBDIRUSE
nun als Makro, welches die angegebenen Befehle ausführt,
verwendet werden, indem es im Makefile als Abhängigkeit
angegeben wird.Was unterscheidet dieses Makro nun von beliebigen anderen
Targets? Der Hauptunterschied ist, dass es
nach den Anweisungen der Bauprozedur,
in der es als Abhängigkeit angegeben ist, ausgeführt
wird. Außerdem ändert es die Variable
.TARGET (die den Namen des aktuell gebauten
Targets enthält) nicht.clean: _SUBDIRUSE
rm -f ${CLEANFILES}In diesem Beispiel führt clean
das Makro _SUBDIRUSE aus, nachdem es
den Befehl rm -f ${CLEANFILES} erfolgreich
ausgeführt hat. Dadurch löscht
clean zwar beim Wechsel in ein neues
Unterverzeichnis beim Bau erstellte
Dateien, aber nicht beim Wechsel aus einem Unterverzeichnis
in ein übergeordnetes Verzeichnis.Vorhandene Targetsinstall und
package arbeiten nacheinander
alle Unterverzeichnisse ab und rufen dabei jeweils ihre
realen Versionen (realinstall
beziehungsweise realpackage)
auf.clean entfernt alle
Dateien, die beim Bau der Dokumentation erzeugt wurden
(dies sowohl im aktuellen Verzeichnis als auch in allen
Unterverzeichnissen). cleandir
hat die gleiche Aufgabe, würde aber zusätzlich
die Objekt-Verzeichnisse löschen (falls diese
existieren).Weitere Bedingungenexists gibt "wahr" zurück, wenn
die angegebene Datei bereits existiert.empty gibt "wahr" zurück, wenn
die angegebene Variable leer ist.target gibt "wahr" zurück, wenn
das angegebene Target noch nicht existiert.Schleifenkonstrukte in
make (.for).for erlaubt es, bestimmte
Anweisungen für jedes Element einer Variable zu
wiederholen, indem dieser Variable in jedem Durchlauf
der Schleife das jeweilige Element der untersuchten Liste
zugewiesen wird._SUBDIRUSE: .USE
.for entry in ${SUBDIR}
@${ECHO} "===> ${DIRPRFX}${entry}"
@(cd ${.CURDIR}/${entry} && \
${MAKE} ${.TARGET:S/realpackage/package/:S/realinstall/install/} DIRPRFX=${DIRPRFX}${entry}/ )
.endforFalls das Verzeichnis SUBDIR leer ist,
würde in unserem Beispiel keine Aktion erfolgen.
Enthält das Verzeichnis hingegen ein oder mehrere
Elemente, werden die Anweisungen zwischen
.for und .endfor
für jedes Element ausgeführt, wobei
entry durch das jeweilige Element ersetzt
werden würde.
Index: head/de_DE.ISO8859-1/books/fdp-primer/po-translations/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/fdp-primer/po-translations/chapter.xml (revision 47398)
+++ head/de_DE.ISO8859-1/books/fdp-primer/po-translations/chapter.xml (revision 47399)
@@ -1,793 +1,792 @@
PO-ÜbersetzungenEinführungDas GNU
gettext-System bietet
Übersetzern eine einfache Möglichkeit, Übersetzungen von
Dokumenten zu erstellen und zu verwalten. Übersetzbare Strings
werden dabei aus dem Originaldokument extrahiert und in eine
PO-Datei (Portable Object-Datei) gespeichert.
Übersetzte Versionen der Strings werden über einen zusätzlichen
Editor eingefügt. Diese Strings können danach direkt verwendet
werden oder zu einer kompletten Übersetzung des Originaldokuments
zusammengefügt werden.SchnellstartDie Anleitung geht davon aus, das sie die Anweisungen in
bereits ausgeführt haben,
allerdings müssen Sie noch zusätzlich die Option
TRANSLATOR im Port
textproc/docproj aktivieren. War
diese Option bisher nicht aktiviert, öffnen Sie jetzt die
Konfiguration, aktivieren die Option und bauen den Port
anschließend neu.&prompt.root; cd /usr/ports/textproc/docproj
&prompt.root; make config
&prompt.root; make clean deinstall install cleanDas folgende Beispiel zeigt, wie Sie den kurzen Artikel
Leap
Seconds auf Spanisch übersetzen.Installieren Sie einen PO-EditorSie benötigen einen PO-Editor, um die
Übersetzungsdateien zu bearbeiten. Dieses Beispiel verwendet
dafür editors/poedit.&prompt.root; cd /usr/ports/editors/poedit
&prompt.root; make install cleanGrundkonfigurationWenn Sie mit der Arbeit an einer bisher nicht existierenden
Sprache oder einem nicht existierenden Dokument beginnen wollen,
müssen Sie zuerst die Verzeichnisstruktur und ein
Makefile anlegen oder von der englischen
Originalversion kopieren:Legen Sie ein Verzeichnis für die neue Übersetzung an.
Der Quellcode des englischen Artikel befindet sich unter
~/doc/en_US.ISO8859-1/articles/leap-seconds/.
Die spanische Übersetzung muss daher im Verzeichnis
~/doc/es_ES.ISO8859-1/articles/leap-seconds/
erstellt werden. Der Pfad ist also (abgesehen vom
sprachspezifischen Verzeichnis) identisch.&prompt.user; svn mkdir --parents ~/doc/es_ES.ISO8859-1/articles/leap-seconds/Kopieren Sie das Makefile des
Originaldokuments in das Übersetzungsverzeichnis:&prompt.user; svn cp ~/doc/en_US.ISO8859-1/articles/leap-seconds/Makefile \
~/doc/es_ES.ISO8859-1/articles/leap-seconds/ÜbersetzungDas Übersetzen eines Dokuments erfolgt in zwei Schritten,
zuerst werden die zu übersetzenden Strings aus dem
Originaldokument extrahiert, um sie anschließend zu
übersetzen. Diese beiden Schritte werden wiederholt, bis
ein brauchbares übersetztes Dokument entstanden ist.Extrahieren Sie die zu übersetzenden Strings aus der
originalen englischen Version und speichern Sie diese
in einer PO-Datei:&prompt.user; cd ~/doc/es_ES.ISO8859-1/articles/leap-seconds/
&prompt.user; make poVerwenden Sie einen PO-Editor, um
Ihre Übersetzungen in der PO-Datei zu
speichern. Dafür gibt es diverse Editoren, dieses Beispiel
verwendet poedit (das Sie über den
Port editors/poedit
installieren können).Der Name der PO-Datei setzt sich aus
einem zwei Zeichen langen Sprachcode, gefolgt von einem
Unterstrich sowie einem ebenfalls zwei Zeichen langen
Regionencode zusammen. Für eine Übersetzung ins Spanische
heißt die Datei daher es_ES.po.&prompt.user; poedit es_ES.poEin übersetztes Dokument erzeugenGenerieren Sie das übersetzte Dokument:&prompt.user; cd ~/doc/es_ES.ISO8859-1/articles/leap-seconds/
&prompt.user; make tranDer Name der erzeugten Datei entspricht dem Namen
der englischen Originaldatei, normalerweise also
article.xml für Artikel oder
book.xml für Bücher.Überprüfen Sie die erzeugte Datei, indem Sie sie
in HTML bauen und in einem
Internetbrowser öffnen:&prompt.user; make FORMATS=html
&prompt.user; firefox article.htmlBisher nicht exisitierende Dokumente übersetzenDer erste Schritt, um ein neues Dokument zu übersetzen, besteht
darin, ein Verzeichnis zu suchen oder zu erstellen, in dem die
Übersetzung gespeichert werden soll. &os; legt alle übersetzten
Dokumente in einem Unterverzeichnis ab, dessen Name sich aus der
Sprache und aus der Region in der Form
lang_REGION
zusammensetzt. lang ist ein Code,
der immer aus zwei Zeichen in Kleinbuchstaben besteht. Auf ihn
folgt ein Unterstrich und danach der Code für die
REGION (der aus zwei Zeichen in
Großbuchstaben besteht).
Existierende SprachenSpracheRegionÜbersetzungsverzeichnisPODateinameZeichensatzEnglischVereinigte Staaten von Amerikaen_US.ISO8859-1en_US.poISO 8859-1BengalischBangladeschbn_BD.UTF-8bn_BD.poUTF-8DänischDänemarkda_DK.ISO8859-1da_DK.poISO 8859-1DeutschDeutschlandde_DE.ISO8859-1de_DE.poISO 8859-1GriechischGriechenlandel_GR.ISO8859-7el_GR.poISO 8859-7SpanischSpanienes_ES.ISO8859-1es_ES.poISO 8859-1FrenchFrancefr_FR.ISO8859-1fr_FR.poISO 8859-1UngarischUngarnhu_HU.ISO8859-2hu_HU.poISO 8859-2ItalienischItalienit_IT.ISO8859-15it_IT.poISO 8859-15JapanischJapanja_JP.eucJPja_JP.poEUC JPKoreanischKoreako_KR.UTF-8ko_KR.poUTF-8MongolischMongolienmn_MN.UTF-8mn_MN.poUTF-8HolländischNiederlandenl_NL.ISO8859-1nl_NL.poISO 8859-1NorwegischNorwegenno_NO.ISO8859-1no_NO.poISO 8859-1PolnischPolenpl_PL.ISO8859-2pl_PL.poISO 8859-2PortugisischBrasilienpt_BR.ISO8859-1pt_BR.poISO 8859-1RussischRusslandru_RU.KOI8-Rru_RU.poKOI8-RSerbischSerbiensr_YU.ISO8859-2sr_YU.poISO 8859-2TürkischTürkeitr_TR.ISO8859-9tr_TR.poISO 8859-9ChinesischChinazh_CN.UTF-8zh_CN.poUTF-8ChinesischTaiwanzh_TW.UTF-8zh_TW.poUTF-8
Die Übersetzungen befinden sich in Unterverzeichnissen
des Hauptverzeichnisses der Dokumentation (in den Beispielen
von ist dies
~/doc/). Die deutschen
Übersetzungen befinden sich daher beispielsweise unter
~/doc/de_DE.ISO8859-1/, französische
Übersetzungen hingegen unter
~/doc/fr_FR.ISO8859-1/.Jede Sprache enthält Unterverzeichnisse für die
verschiedenen Dokumenttypen, also üblicherweise
articles/ und
books/.Kombiniert man diese Verzeichnisnamen, erhält man den
kompletten Pfad zu einem Artikel oder zu einem Buch. Die
französische Übersetzung des NanoBSD-Artikels ist daher etwa
unter ~/doc/fr_FR.ISO8859-1/articles/nanobsd/
gespeichert, die mongolische Übersetzung des Handbuchs hingegen
unter
~/doc/mn_MN.UTF-8/books/handbook/.Soll ein Dokument in eine bisher nicht existierende Sprache
übersetzt werden, muss zuerst ein sprachspezifisches Verzeichnis
erstellt werden. Existiert die Sprache hingegen schon, muss
nur ein Unterverzeichnis unterhalb von
articles/ oder books/
angelegt werden (falls noch nicht vorhanden).Der Bau der &os;-Dokumentation wird durch ein
Makefile gesteuert, das sich im gleichen
Verzeichnis wie die Übersetzung befindet. Für einfache Artikel
kann dieses Makefile oft unverändert aus
der englischen Originalversion übernommen werden. Der
Übersetzungsprozess für Bücher ist hingegen komplizierter, da
dabei verschiedene getrennte book.xml und
chapter.xml-Dateien in ein gemeinsames
Dokument integriert werden, das Makefile
für die Übersetzung eines Buches muss daher in der Regel immer
kopiert und angepasst werden.Die spanische Übersetzung des Porter's Handbook
erstellenStarten Sie die bisher nicht vorhandene spanische
Übersetzung des Porter's
Handbook. Das originale Dokument ist ein Buch im
Verzeichnis
~/doc/en_US.ISO8859-1/books/porters-handbook/.Das Verzeichnis für die spanische Übersetzung
(~/doc/es_ES.ISO8859-1/books/) existiert
bereits, daher müssen Sie nur ein Unterverzeichnis für das
Porter's Handbook anlegen:&prompt.user; cd ~/doc/es_ES.ISO8859-1/books/
&prompt.user; svn mkdir porters-handbook
A porters-handbookKopieren Sie das Makefile des
Originalen Buchs in den neuen Ordner:&prompt.user; cd ~/doc/es_ES.ISO8859-1/books/porters-handbook
&prompt.user; svn cp ~/doc/en_US.ISO8859-1/books/porters-handbook/Makefile .
A MakefilePassen Sie das Makefile an,
damit es nur eine einzige book.xml
als Eingabe erwartet:#
# $FreeBSD$
#
# Build the FreeBSD Porter's Handbook.
#
MAINTAINER=doc@FreeBSD.org
DOC?= book
FORMATS?= html-split
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
# XML content
SRCS= book.xml
# Images from the cross-document image library
IMAGES_LIB+= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
IMAGES_LIB+= callouts/11.png
IMAGES_LIB+= callouts/12.png
IMAGES_LIB+= callouts/13.png
IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
IMAGES_LIB+= callouts/16.png
IMAGES_LIB+= callouts/17.png
IMAGES_LIB+= callouts/18.png
IMAGES_LIB+= callouts/19.png
IMAGES_LIB+= callouts/20.png
IMAGES_LIB+= callouts/21.png
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
SYMLINKS= ${DESTDIR} index.html handbook.html
.include "${DOC_PREFIX}/share/mk/doc.project.mk"Damit steht die Dokumentstruktur bereit und Sie können
die PO-Datei mit
make po erstellen.Die französische Übersetzung des
PGP Keys-Artikels erstellenStarten Sie die bisher nicht vorhandene Übersetzung des
PGP
Keys-Artikels. Das englische Original ist ein Artikel,
der sich im Verzeichnis
~/doc/en_US.ISO8859-1/articles/pgpkeys/
befindet.Das Verzeichnis für französische Artikel
(~/doc/fr_FR.ISO8859-1/articles/)
existiert bereits, Sie müssen daher nur ein neues
Unterverzeichnis für den PGP Keys-Artikel
anlegen:&prompt.user; cd ~/doc/fr_FR.ISO8859-1/articles/
&prompt.user; svn mkdir pgpkeys
A pgpkeysKopieren Sie das Makefile des
originalen Artikels:&prompt.user; cd ~/doc/fr_FR.ISO8859-1/articles/pgpkeys
&prompt.user; svn cp ~/doc/en_US.ISO8859-1/articles/pgpkeys/Makefile .
A MakefileÜberprüfen Sie das Makefile. Da es
sich um einen einfachen Artikel handelt, sind vermutlich
keine Änderungen am Makefile nötig.
Der Inhalt der dritten Zeile ($&os;...$)
wird durch das Versionskontrollsystem ersetzt werden, wenn
diese Datei committet wird.#
# $FreeBSD$
#
# Article: PGP Keys
DOC?= article
FORMATS?= html
WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
# To build with just key fingerprints, set FINGERPRINTS_ONLY.
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"Damit steht die Dokumentstruktur bereit und Sie können
die PO-Datei mit
make po erstellen.ÜbersetzenDas gettext-System macht die
Übersetzung von Dokumenten einfacher, weil sich der Übersetzer
dadurch um weniger Dinge kümmern muss. Die zu übersetzenden
Strings werden aus dem Originaldokument in eine
PO-Datei extrahiert. Danach wird ein
PO-Editor verwendet, um die übersetzten
Strings einzugeben.Das von &os; verwendete
PO-Übersetzungssystem überschreibt
PO-Dateien nicht, daher können die Strings
jederzeit extrahiert werden, um die
PO-Datei zu aktualisieren.Ein PO-Editor wird zum Bearbeiten der
Datei benötigt. Die Beispiele in diesem Abschnitt verwenden
editors/poedit, da es sich dabei
um einen einfach zu bedienenden Editor mit nur wenigen
Abhängigkeiten handelt. Es gibt aber auch diverse andere
PO-Editoren, die zusätzliche Funktionen
haben, die bei der Übersetzung von Dokumenten helfen. Die
Ports-Sammlung enthält verschiedene dieser Editoren,
beispielsweise devel/gtranslator.Löschen Sie die PO-Datei auf keinen
Fall, da Sie alle Änderungen enthält, die Übersetzer
vorgenommen haben.Die spanische Version des Porter's Handbook
übersetzenBeginnen Sie mit der Übersetzung des spanischen
Porter's Handbook.Wechseln Sie in das Verzeichnis des spanischen
Porter's Handbook und aktualisieren Sie die
PO-Datei (wie bereits in
erwähnt, heißt diese Datei
es_ES.po.&prompt.user; cd ~/doc/es_ES.ISO8859-1/books/porters-handbook
&prompt.user; make poLaden Sie die Datei in Ihren
PO-Editor und beginnen Sie mit
der Übersetzung:&prompt.user; poedit es_ES.poTips für ÜbersetzerXML-Tags beibehaltenAchten Sie darauf, dass Sie keine XML-Tags
des englischen Originals verändern.XML-Tags beibehaltenEnglisches Original:If acronymNTPacronym is not being usedSpanische Übersetzung:Si acronymNTPacronym no se utilizaLeerzeichen beibehaltenAchten Sie darauf, dass Sie Leerzeichen am Beginn und am
Ende der zu übersetzenden Strings beibehalten. Ihre
Übersetzung muss diese Strings ebenfalls enthalten.Nicht zu übersetzende TagsDie folgenden Tags dürfen nicht übersetzt werden:citerefentrycommandfilenameliteralmanvolnumorgnamepackageprogramlistingpromptrefentrytitlescreenuserinputvarnameEin übersetztes Dokument bauenEine übersetzte Version eines Originaldokuments kann
jederzeit erzeugt werden. Noch nicht übersetzte Teile des
Dokuments werden dabei in Englisch verbleiben. Die meisten
PO-Editoren zeigen Ihnen an, welcher
Anteil des Dokuments bereits übersetzt ist. Dies erleichtert
es dem Übersetzer zu beurteilen, ob sich der Bau des finalen
Dokuments bereits lohnt oder nicht.Die spanische Version des Porter's Handbook bauenBauen Sie die spanische Version des Porter's Handbooks, das
in einem früheren Beispiel erzeugt wurde und überprüfen Sie das
Ergebnis.Bauen Sie das Dokument. Da das Original vom Typ Buch
(book) ist, heißt das erzeugte Dokument
book.xml.&prompt.user; cd ~/doc/es_ES.ISO8859-1/books/porters-handbook
&prompt.user; make tranErzeugen Sie aus der book.xml eine
HTML-Version des Dokuments und lassen Sie
sich das Ergebnis in Firefox
anzeigen. Für die englische Dokumentation gehen Sie analog
vor. Eine Liste aller verfügbaren Werte für die Variable
- FORMATS findet sich im FDP-Primer.
-
+ FORMATS finden Sie in .
&prompt.user; make FORMATS=html
&prompt.user; firefox book.html