Wenn Ihr Port gettext
benötigt, setzen Sie einfach
USE_GETTEXT
auf yes
,
und Ihr Port bekommt die Abhängigkeit von devel/gettext. Der Wert von
USE_GETTEXT
kann auch die
benötigte Version der
libintl
-Bibliothek angeben, der
grundlegenden Teil von
gettext
– jedoch
wird von der Benutzung dieser Funktion
dringend abgeraten:
Ihr Port sollte einfach nur mit der aktuellen Version von
devel/gettext
funktionieren.
Ein ziemlich häufiger Fall ist, dass ein Port
gettext
und
configure
benutzt. Normalerweise sollte
GNU configure
gettext
automatisch finden können.
Sollte das einmal nicht funktionieren, können
Hinweise über den Ort von gettext
in CPPFLAGS
und LDFLAGS
wie
folgt übergeben werden:
USE_GETTEXT= yes CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib GNU_CONFIGURE= yes CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" \ LDFLAGS="${LDFLAGS}"
Natürlich kann der Code kompakter sein,
wenn es keine weiteren Flags gibt, die
configure
übergeben werden
müssen:
USE_GETTEXT= yes GNU_CONFIGURE= yes CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib"
Manche Softwareprodukte erlauben die Deaktivierung
von NLS - z.B. durch Übergeben von
--disable-nls
an
configure
. In diesem Fall sollte Ihr
Port gettext
abhängig vom Status
von WITHOUT_NLS
benutzen. Für Ports mit niedriger bis mittlerer
Komplexität können Sie sich auf das folgende
Idiom verlassen:
GNU_CONFIGURE= yes .if !defined(WITHOUT_NLS) USE_GETTEXT= yes PLIST_SUB+= NLS="" .else CONFIGURE_ARGS+= --disable-nls PLIST_SUB+= NLS="@comment " .endif
Der nächste Punkt auf Ihrer Todo-Liste ist
dafür zu sorgen, dass die Message-Catalog-Dateien
nur bedingt in der Packliste aufgeführt werden. Der
Makefile
-Teil dieser Aufgabe ist
schon durch obiges Idiom erledigt.
Das wird im Abschnitt über Fortgeschrittene
pkg-plist
-Methoden
erklärt.
Kurz gesagt, jedes Vorkommen von
%%NLS%%
in
pkg-plist
wird durch
„@comment
“, wenn NLS
abgeschaltet ist, oder durch eine leere Zeichenkette,
wenn NLS aktiviert ist, ersetzt. Folglich werden die
Zeilen, denen %%NLS%%
vorangestellt
ist, zu reinen Kommentaren in der endgültigen
Packliste, wenn NLS abgeschaltet ist;
andernfalls wird der Prefix einfach nur ausgelassen.
Alles, was Sie jetzt noch machen müssen, ist
%%NLS%%
vor jedem Pfad zu einer
Message-Catalog-Datei in pkg-plist
einzufügen. Zum Beispiel:
%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo %%NLS%%share/locale/no/LC_MESSAGES/foobar.mo
In sehr komplexen Fällen müssen Sie eventuell fortgeschrittenere Techniken als die hier vorgestellte benutzen - wie z.B. Dynamische Packlistenerzeugung.
Bei der Installation von Message-Catalog-Dateien
gibt es einen Punkt zu beachten. Ihr Zielverzeichnis,
das unter
LOCALBASE/share/locale
liegt, sollte nur selten von Ihrem Port erzeugt und
gelöscht werden. Die Verzeichnisse für die
gebräuchlichsten Sprachen sind in
/etc/mtree/BSD.local.dist
aufgelistet; das heisst, sie sind Teil des Systems.
Die Verzeichnisse für viele andere Sprachen sind
Teil des Ports devel/gettext. Sie wollen
vielleicht dessen pkg-plist
zur Hand nehmen, um festzustellen, ob Ihr Port eine
Message-Catalog-Datei für eine seltene Sprache
installiert.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.