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
Sprachcode
und
Ländercode
werden verwendet, um das
Land und die spezifische Sprachvariation zu bestimmen. Tabelle 22.1, „Gebräuchliche Sprach- und Ländercodes“ enthält dazu einige
Beispiele:
Sprachcode_Ländercode | Beschreibung |
---|---|
en_US | Englisch, Vereinigte Staaten |
ru_RU | Russisch, Russland |
zh_TW | Traditionelles Chinesisch, Taiwan |
Eine vollständige Liste der verfügbaren Lokalisierungen erhalten Sie durch die Eingabe von:
%
locale -a | more
Die aktuelle Ländereinstellung erhalten Sie mit:
%
locale
Sprachspezifische Zeichensätze, wie ISO8859-1, ISO8859-15, KOI8-R und CP437 werden in multibyte(3) beschrieben. Eine Liste der Zeichensätze finden Sie in der IANA Registry.
Einige Sprachen, darunter Chinesisch und Japanisch, können nicht mit ASCII-Zeichen dargestellt werden und benötigen eine erweiterte Sprachcodierung mit Wide- oder Multibyte-Zeichen. EUC und Big5 sind Beispiele für Wide- oder Multibyte-Codierungen. Ältere Anwendungen erkennen diese Zeichen nicht und halten sie fälschlicherweise für Steuerzeichen, während neure Anwendungen diese Zeichen in der Regel erkennen. Es hängt allerdings von der Implementierung ab, ob man eine Anwendung neu kompilieren muss, um lokale Zeichensätze zu bekommen, oder ob sie nur richtig konfiguriert werden muss.
FreeBSD verwendet Xorg-kompatible Codierungen.
Der Rest dieses Abschnitts beschreibt die verschiedenen Methoden zur Konfiguration von der Locale auf einem FreeBSD-System. Der folgende Abschnitt beschreibt den Bau von Anwendungen mit I18N-Unterstützung.
Die Einstellungen für Locale werden entweder in der
~/.login_conf
des Benutzers, oder der
Startdatei der Shell (~/.profile
,
~/.bashrc
oder
~/.cshrc
) konfiguriert.
Zwei Umgebungsvariablen sollten konfiguriert werden:
Neben der Shell-Konfiguration des Benutzers sollten diese Variablen auch für spezifische Anwendungen und Xorg-Konfigurationen eingestellt werden.
Es gibt zwei Methoden, die Locale zu setzen: 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. In den nächsten Abschnitten werden beide Methoden vorgestellt.
Die erste Methode wird empfohlen, da sie die Umgebungsvariablen für die Login-Klasse und den MIME Zeichensatz für alle Shells zuweist. Die Lokalisierung kann von einem Benutzer selbst, oder vom Superuser für alle Benutzer 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
des Benutzers
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,LC_COLLATE=zh_TW.Big5,LC_CTYPE=zh_TW.Big5,LC_MESSAGES=zh_TW.Big5,LC_MONETARY=zh_TW.Big5,LC_NUMERIC=zh_TW.Big5,LC_TIME= zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
Alternativ kann der Superuser die Lokalisierung für
alle Benutzer konfigurieren. Die folgenden Variablen in
/etc/login.conf
setzen die richtige
Login-Klasse und den richtigen MIME
Zeichensatz:
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:
Weitere Einzelheiten über diese Variablen finden Sie
in login.conf(5). Beachten Sie, dass die Datei
bereits vordefinierte russische
Login-Klassen enthält.
Jedes Mal, wenn /etc/login.conf
bearbeitet wurde, muss die Datenbank mit dem folgenden
Kommando aktualisiert werden:
#
cap_mkdb /etc/login.conf
Der reguläre Benutzer muss den Befehl
cap_mkdb
auf seine
~/.login_conf
anwenden, damit die
Änderungen wirksam werden.
Neben der manuellen Konfiguration von
/etc/login.conf
, stehen mehrere
Werkzeuge bereit, um die Login-Klasse für neue Benutzer
einzustellen.
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, können Sie die voreingestellte Sprache
für alle Benutzer, oder für einen einzelnen Benutzer
einstellen:
Falls alle Benutzer die gleiche Sprache
benutzen, setzen Sie
defaultclass=
in Sprache
/etc/adduser.conf
.
Wenn Sie diese Einstellung beim Anlegen des Benutzers überschreiben wollen, geben Sie entweder die gewünschte Login-Klasse am Prompt ein:
Enter login class: default []:
oder übergeben Sie die Login-Klasse beim Aufruf
von adduser
:
#
adduser -class
Sprache
Wenn Sie neue Benutzer mit pw
anlegen, geben Sie die Login-Klasse wie folgt an:
#
pw useradd
Benutzername
-LSprache
Um die Login-Klasse eines bestehenden Benutzers zu
ändern, kann chpass
verwendet
werden. Rufen Sie das Kommando als Superuser auf und
geben Sie als Argument den entsprechenden Benutzernamen
mit:
#
chpass
Benutzername
Diese zweite Methode wird nicht empfohlen, da jede
Shell unterschiedlich eingerichtet wird, eine
unterschiedliche Konfigurationsdatei und Syntax verwendet.
Um beispielsweise die deutsche Sprache für die
sh
zu setzen, fügen Sie für einen
Benutzer die folgende Zeilen in
~/.profile
ein. Sie können diese
Zeilen auch für alle Benutzer der sh
Shell in /etc/profile
oder
/usr/share/skel/dot.profile
hinzufügen:
LANG
=de_DE.ISO8859-1; exportLANG
MM_CHARSET
=ISO-8859-1; exportMM_CHARSET
Die csh
Shell verwendet jedoch eine
andere Konfigurationsdatei und eine andere Syntax. Dies
sind die entsprechenden Einstellungen für
~/.csh.login
,
/etc/csh.login
oder
/usr/share/skel/dot.login
:
setenvLANG
de_DE.ISO8859-1 setenvMM_CHARSET
ISO-8859-1
Die Syntax zur Konfiguration von
Xorg in
~/.xinitrc
hängt ebenfalls von der
verwendeten Shell ab. Das erste Beispiel ist für die
sh
Shell, das zweite für die
csh
Shell:
LANG
=de_DE.ISO8859-1; exportLANG
setenv LANG
de_DE.ISO8859-1
Für die Konsole stehen mehrere lokalisierte Sprachen zur
Verfügung. Eine Liste der verfügbaren Schriften erhalten Sie
mit ls /usr/share/syscons/fonts
. Um die
Schriftart für die Konsole zu konfigurieren, setzen Sie den
gewünschten Zeichensatz
ohne die
Endung .fnt
in
/etc/rc.conf
:
font8x16=Zeichensatz
font8x14=Zeichensatz
font8x8=Zeichensatz
Die Tasten- und Bildschirmzuordnung (keymap und screenmap)
kann in mit den folgenden Einträgen in
/etc/rc.conf
gesetzt werden:
scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence
"
Eine Liste der verfügbaren Bildschirmzuordnungen erhalten
Sie mit ls /usr/share/syscons/scrnmaps
.
Spezifizieren Sie screenmap_name
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.
Eine Liste der verfügbaren Tastenzuordnungen erhalten Sie
mit ls /usr/share/syscons/keymaps
.
Spezifizieren Sie keymap_name
ohne
die Endung .kbd
. Eine Tastenzuordnung
können Sie ohne einen Neustart mit kbdmap(1)
ausprobieren.
Der Eintrag keychange
programmiert die
Funktionstasten so, dass sie zu dem ausgesuchten Terminal
passen. Die Sequenzen der Funktionstasten können nicht in
Tastenzuordnungen definiert werden.
Setzen Sie als nächstes für alle Terminals den richtigen
Terminaltyp in /etc/ttys
. Tabelle 22.2, „Terminaltypen für Zeichensätze“ enthält eine Zusammenfassung der
verfügbaren Terminaltypen.
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 die
entsprechende Konsole aus der FreeBSD Ports-Sammlung
installieren. Die verfügbaren Ports sind in Tabelle 22.3, „Konsolen aus der Ports-Sammlung“ zusammengefasst. Nachdem
Sie einen Port installiert haben, finden Sie in der Manualpage
oder der pkg-message
des Ports
Anweisungen zur Konfiguration und Benutzung der
Konsole.
Sprache | Port |
---|---|
traditionelles Chinesisch (BIG-5) | chinese/big5con |
Chinesisch/Japanisch/Koreanisch | chinese/cce |
Chinesisch/Japanisch/Koreanisch | chinese/zhcon |
Japanisch | chinese/kon2 |
Japanisch | japanese/kon2-14dot |
Japanisch | japanese/kon2-16dot |
Wenn Sie moused in
/etc/rc.conf
aktiviert haben, ist
vielleicht noch weitere Konfiguration nötig. 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. Fügen Sie dazu
die folgende Zeile in /etc/rc.conf
ein:
mousechar_start=3
Kapitel 5, Das X-Window-System beschreibt die Installation und
Konfiguration von Xorg. Wenn
Xorg für die Lokalisierung
eingerichtet wird, stehen zusätzliche Zeichensätze und
Eingabemethoden in der FreeBSD Ports-Sammlung zur Verfügung.
Anwendungsspezifische I18N-Einstellungen,
wie etwa Zeichensätze und Menüs, können in
~/.Xresouces
angepasst werden, damit in
den graphischen Anwendungen des Benutzers die gewählte Sprache
angezeigt wird.
Das X Input Method (XIM) Protokoll ist ein Xorg-Standard für die Eingabe von nicht-englischen Zeichen. Tabelle 22.4, „Verfügbare Eingabemethoden“ fasst die aus der FreeBSD Ports-Sammlung verfügbaren Anwendungen für die Eingabemethoden zusammen. Zusätzliche Fcitx- und Uim-Anwendungen sind ebenfalls verfügbar.
Sprache | Eingabemethode |
---|---|
Chinesisch | chinese/gcin |
Chinesisch | chinese/ibus-chewing |
Chinesisch | chinese/ibus-pinyin |
Chinesisch | chinese/oxim |
Chinesisch | chinese/scim-fcitx |
Chinesisch | chinese/scim-pinyin |
Chinesisch | chinese/scim-tables |
Japanisch | japanese/ibus-anthy |
Japanisch | japanese/ibus-mozc |
Japanisch | japanese/ibus-skk |
Japanisch | japanese/im-ja |
Japanisch | japanese/kinput2 |
Japanisch | japanese/scim-anthy |
Japanisch | japanese/scim-canna |
Japanisch | japanese/scim-honoka |
Japanisch | japanese/scim-honoka-plugin-romkan |
Japanisch | japanese/scim-honoka-plugin-wnn |
Japanisch | japanese/scim-prime |
Japanisch | japanese/scim-skk |
Japanisch | japanese/scim-tables |
Japanisch | japanese/scim-tomoe |
Japanisch | japanese/scim-uim |
Japanisch | japanese/skkinput |
Japanisch | japanese/skkinput3 |
Japanisch | japanese/uim-anthy |
Koreanisch | korean/ibus-hangul |
Koreanisch | korean/imhangul |
Koreanisch | korean/nabi |
Koreanisch | korean/scim-hangul |
Koreanisch | korean/scim-tables |
Vietnamesisch | vietnamese/xvnkb |
Vietnamesisch | vietnamese/x-unikey |
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>.