Lokale Anpassungen werden durch die Angabe von drei Werten erreicht: dem Sprachcode, dem Ländercode und der Codierung. Die Zusammenfassung dieser Werte wird „Locale“ genannt und sieht wie folgt aus:
Sprachcode
_Ländercode
.Codierung
Um FreeBSD an lokale Gegebenheiten und Sprachen anzupassen, muss der Benutzer herausfinden, welche Codes für sein Land und seine Sprache benutzt werden. Ländercodes geben den Anwendungen dabei vor, welche Variation einer bestimmten Sprache zu benutzen ist. Im Folgenden sind einige Beispiele für Sprach- und Ländercodes aufgelistet:
Sprachcode/Ländercode | Beschreibung |
---|---|
en_US | Englisch - USA |
ru_RU | Russisch für Russland |
zh_TW | Traditionelles Chinesisch für Taiwan |
Eine vollständige Liste der verfügbaren Lokalisierungen erhalten Sie durch die Eingabe von:
%
locale -a
Einige Sprachen benutzen Codierungen, die nicht dem 7-Bit breitem ASCII-Standard entsprechen, wie 8-Bit Codierungen, Wide- oder Multibyte Zeichen (multibyte(3) geht darauf näher ein). Ältere Anwendungen erkennen diese Zeichen nicht und halten sie fälschlicherweise für Steuerzeichen. Neuere Anwendungen erkennen für gewöhnlich 8-Bit Zeichen. Es hängt allerdings von der Implementierung ab, ob man eine Anwendung neu kompilieren muss, um lokale Zeichensätze zu bekommen, oder ob man es sie nur nachträglich konfigurieren muss. Um es möglich zu machen, Wide- oder Multibyte-Zeichen einzugeben und zu verarbeiten, unterstützt die FreeBSD Ports-Sammlung verschiedene Sprachen für diverse Programme. Konsultieren Sie die I18N-Dokumentation des entsprechenden Ports.
In den meisten Fällen muss der Benutzer in die Dokumentation des Programms schauen, um herauszufinden, wie man es entsprechend für die eigene Sprache und den eigenen Zeichensatz konfiguriert, oder welche Optionen beim Übersetzen anzugeben sind.
Einige Dinge, die man im Hinterkopf behalten sollte, sind:
Sprachbezogene C-char Zeichensätze, zum Beispiel ISO8859-1, ISO8859-15, KOI8-R sowie CP437. Diese werden in multibyte(3) beschrieben.
Wide- oder Multibyte-Codierungen, zum Beispiel EUC und Big5.
Eine aktuelle Liste der Zeichensätze ist in der IANA Registry verfügbar.
FreeBSD verwendet Xorg-kompatible Codierungen.
In der FreeBSD Ports-Sammlung werden
I18N-Anwendungen mit einem
I18N
im Namen gekennzeichnet, damit man sie
leicht identifizieren kann. Trotzdem kann es vorkommen, dass
die benötigte Sprache nicht immer unterstützt wird.
Zum Aktivieren der Lokalisierung reicht es, die
Umgebungsvariable LANG
in der Login-Shell auf
den Wert der Locale zu setzen und die Variable zu exportieren.
Dies geschieht normalerweise in
~/.login_conf
oder der Startdatei
der Shell (~/.profile
,
~/.bashrc
oder
~/.cshrc
). Wenn LANG
gesetzt ist, brauchen die speziellen Variablen wie
LC_CTYPE
oder LC_CTIME
in der Regel nicht gesetzt zu werden. Sie sollten
sprachbezogene FreeBSD-Dokumentation zu Rate ziehen, wenn Sie
mehr Informationen wünschen.
Setzen Sie die zwei folgenden Umgebungsvariablen in den Konfigurationsdateien der Benutzer:
LANG
für Funktionen der
POSIX®
setlocale(3) Familie
MM_CHARSET
gibt den den MIME
Zeichensatz von Anwendungen an
Neben der Shell-Konfiguration des Benutzers sollten diese Variablen auch für spezifische Anwendungen und Xorg-Konfigurationen eingestellt werden.
Es gibt zwei Methode, die Locale zu setzen, die im Folgenden beschrieben werden. Die erste und empfohlene Methode ist, die Umgebungsvariablen in der Login-Klasse zu setzen, die zweite Methode ist, sie in den Startdateien der Shell zu setzen.
Wenn Sie diese Methode verwenden, werden die Umgebungsvariablen für die Locale und den MIME Zeichensatz einmal für alle Shells, anstatt einzeln für jede Shell, gesetzt. Die Lokalisierung kann von einem Benutzer selbst oder von einem Administrator mit Superuser-Rechten für alle eingestellt werden.
.login_conf
im Heimatverzeichnis
eines Benutzers sollte mindestens die folgenden Einträge
enthalten, damit beide Variablen für den Gebrauch der
Latin-1 Codierung gesetzt werden:
me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:
Damit traditionelles Chinesisch (BIG-5 Codierung)
verwendet werden kann, sind in .login_conf
die nachstehenden Ergänzungen vorzunehmen. Einige
Programme behandeln die Lokalisierung für Chinesisch,
Japanisch und Koreanisch falsch, daher müssen mehr
Variablen als üblich gesetzt werden:
#Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ :lang=zh_TW.Big5:\ :setenv=LC_ALL=zh_TW.Big5:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
Weitere Informationen entnehmen Sie bitte login.conf(5).
Stellen Sie sicher, dass in der Login-Klasse der
Benutzer in /etc/login.conf
die
richtige Sprache eingestellt ist:
Sprache
|Account-Typ-Beschreibung
:\ :charset=MIME_Zeichensatz
:\ :lang=Locale
:\ :tc=default:
Die für Latin-1 erforderlichen Einträge würden wie folgt aussehen:
german|German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default:
Nach jeder Änderung dieser Datei müssen Sie den folgenden Befehl ausführen:
#
cap_mkdb /etc/login.conf
Wenn Sie neue Accounts mit vipw
anlegen, setzen Sie im Feld
Sprache
die gewünschte
Sprache ein:
user:password:1111:11:Sprache
:0:0:Benutzername:/home/user:/bin/sh
Wenn Sie mit adduser
neue
Benutzer anlegen, konfigurieren Sie die Sprache wie
folgt:
Setzen Sie defaultclass =
in
Sprache
/etc/adduser.conf
, falls alle
Benutzer die gleiche Sprache benutzen.
Geben Sie die Sprache jedes Mal ein, wenn Sie dazu von adduser(8) aufgefordert werden:
Enter login class: default []:
Sie können die Login-Klasse auch auf der Kommandozeile von adduser(8) übergeben:
#
adduser -class
Sprache
Wenn Sie neue Benutzer mit pw(8) anlegen, benutzen Sie die folgende Kommandozeile:
#
pw useradd
Benutzername
-LSprache
Da jede Shell unterschiedlich eingerichtet wird, sollte diese Methode nicht verwendet werden. Benutzen Sie stattdessen Login-Klassen.
Um die Locale und den MIME Zeichensatz anzugeben, setzen
Sie die unten aufgeführten Variablen in den Startdateien
der Shells (/etc/profile
und
/etc/csh.login
). In den folgenden
Beispielen verwenden wir die deutsche Sprache.
Einstellungen in /etc/profile
:
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
Einstellungen in /etc/csh.login
:
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
Alternativ können die obigen Einstellungen in
/usr/share/skel/dot.profile
und
/usr/share/skel/dot.login
hinzugefügt
werden.
Um Xorg zu konfigurieren,
fügen Sie eine der folgenden Zeilen
in ~/.xinitrc
ein (abhängig von der
Shell):
LANG=de_DE.ISO8859-1; export LANG
setenv LANG de_DE.ISO8859-1
Wenn Sie C-char Zeichensätze verwenden, müssen Sie die
richtigen Zeichensätze für die gewählte Sprache in
/etc/rc.conf
angeben:
font8x16=Zeichensatz
font8x14=Zeichensatz
font8x8=Zeichensatz
Dabei ist Zeichensatz
der Name der
passenden Datei aus /usr/share/syscons/fonts
ohne die Endung .fnt
.
Setzen Sie bei Bedarf die richtige Tasten- und
Bildschirmzuordnung (keymap und screenmap). Dies
können Sie in sysinstall
einstellen, indem Sie und dann
wählen. Sie können
die Zuordnungen aber auch direkt in /etc/rc.conf
angeben:
scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence
"
screenmap_name
ist der Name einer
Datei aus /usr/share/syscons/scrnmaps
ohne die
Endung .scm
. Eine Bildschirmzuordnung und der
zugehörige Zeichensatz verbreitert die Zeichenmatrix von
VGA Karten von 8 Bit auf 9 Bit. Sie wird benötigt,
wenn der Zeichensatz des Bildschirms 8 Bit
verwendet.
Lesen Sie den nächsten Absatz, wenn Sie
moused in
/etc/rc.conf
aktiviert haben:
Der Mauszeiger des syscons(4) Treibers belegt in
der Voreinstellung den Bereich von 0xd0 bis 0xd3 des Zeichensatzes.
Wenn dieser Bereich ebenfalls von der eingestellten Sprache
benötigt wird, müssen Sie den Mauszeiger verschieben.
Dazu fügen Sie die folgende Zeile in
/etc/rc.conf
ein:
mousechar_start=3
keymap_name
aus dem obigen
Beispiel ist der Name einer Datei aus
/usr/share/syscons/keymaps
ohne die
Endung .kbd
. Welche Tastenzuordnung Sie
benutzen müssen, können Sie ohne einen Neustart mit
kbdmap(1) ausprobieren.
Mit keychange
können die
Funktionstasten so programmiert werden, dass sie zu dem
ausgesuchten Terminal passen. Die Sequenzen der Funktionstasten
können nicht in Tastenzuordnungen definiert werden.
Stellen Sie sicher, dass der richtige Terminaltyp in
/etc/ttys
angegeben ist. Momentan sind
die folgenden Terminaltypen definiert:
Zeichensatz | Terminaltyp |
---|---|
ISO8859-1 oder ISO8859-15 | cons25l1 |
ISO8859-2 | cons25l2 |
ISO8859-7 | cons25l7 |
KOI8-R | cons25r |
KOI8-U | cons25u |
CP437 (VGA default) | cons25 |
US-ASCII | cons25w |
Mit Wide- oder Multibyte-Zeichensätzen müssen Sie den
richtigen Port aus dem Verzeichnis
/usr/ports/Sprache
verwenden. Einige Ports erscheinen als Konsolen werden aber vom
System als serielle vtty's betrachtet. Achten Sie daher darauf,
dass Sie genügend vtty's für X11 und die
Pseudo-seriellen Konsolen definiert haben. Nachstehend finden Sie
eine unvollständige Liste der Ports, die eine andere Sprache
als Englisch auf der Konsole verwenden:
Sprache | Port |
---|---|
traditionelles Chinesisch (BIG-5) | chinese/big5con |
Japanisch | japanese/kon2-16dot oder japanese/mule-freewnn |
Koreanisch | korean/han |
Obwohl Xorg nicht zusammen mit FreeBSD installiert wird, kann es aus der Ports-Sammlung installiert werden. Weitere Details entnehmen finden Sie im ???. Dieser Abschnitt beschreibt die Lokalisierung von Xorg.
Anwendungsspezifische I18N-Einstellungen, wie
Zeichensätze und Menüs, können Sie in
~/.Xresources
vornehmen.
Installieren Sie den Xorg-Server (x11-servers/xorg-server) und die TrueType® Zeichensätze Ihrer Sprache. Wenn Sie die Locale gesetzt haben, sollten die Menüs in Ihrer Sprache erscheinen.
Drucker verfügen normalerweise schon über einige C-char Zeichensätze. Wide- oder Multibyte-Zeichensätze müssen gesondert eingerichtet werden, zum Beispiel mit dem Werkzeug apsfilter. Weiterhin können mit sprachspezifischen Konvertern Dokumente auch in PostScript® oder PDF umgewandelt werden.
Das FreeBSD-Dateisystem FFS unterstützt 8-Bit, so dass es mit C-char Zeichensätzen verwendet werden kann. Der Zeichensatz wird allerdings nicht im Dateisystem gespeichert, das heißt es werden nur die 8-Bit Werte gespeichert und die Codierung wird nicht berücksichtigt. Offiziell werden Wide- oder Multibyte-Zeichensätze noch nicht unterstützt, für einige Zeichensätze existieren Patche, die eine solche Unterstützung für FFS aktivieren. Die Patche und weitere Informationen erhalten Sie auf den Webseiten der betreffenden Sprache.
Das MS-DOS® Dateisystem von FreeBSD kann von MS-DOS®- und Unicode-Zeichensätzen nach frei wählbaren eichensätzen konvertieren. Weitere Details finden Sie in mount_msdosfs(8).
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>.