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/shWenn 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 -classSprache
Wenn Sie neue Benutzer mit pw
anlegen, geben Sie die Login-Klasse wie folgt an:
#pw useraddBenutzername-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:
#chpassBenutzername
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; exportLANGMM_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:
setenvLANGde_DE.ISO8859-1 setenvMM_CHARSETISO-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-1Fü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=Zeichensatzfont8x14=Zeichensatzfont8x8=Zeichensatz
Die Tasten- und Bildschirmzuordnung (keymap und screenmap)
kann in mit den folgenden Einträgen in
/etc/rc.conf gesetzt werden:
scrnmap=screenmap_namekeymap=keymap_namekeychange="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>.