23.3. Lokale Anpassungen benutzen

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

23.3.1. Sprach- und Ländercodes

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ändercodeBeschreibung
en_USEnglisch - USA
ru_RURussisch für Russland
zh_TWTraditionelles Chinesisch für Taiwan

Eine vollständige Liste der verfügbaren Lokalisierungen erhalten Sie durch die Eingabe von:

% locale -a

23.3.2. Codierungen

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.

Anmerkung:

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.

23.3.3. Einstellen der Locale

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.

23.3.3.1. Verfahren zum Einstellen der Locale

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.

23.3.3.1.1. Lokalisierung in der Login-Klasse

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.

23.3.3.1.1.1. Einrichten als Benutzer

.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).

23.3.3.1.1.2. Einrichten als Administrator

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
Ändern der Login-Klasse mit vipw(8)

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
Ändern der Login-Klasse mit adduser(8)

Wenn Sie mit adduser neue Benutzer anlegen, konfigurieren Sie die Sprache wie folgt:

  • Setzen Sie defaultclass = Sprache in /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
Ändern der Login-Klasse mit pw(8)

Wenn Sie neue Benutzer mit pw(8) anlegen, benutzen Sie die folgende Kommandozeile:

# pw useradd Benutzername -L Sprache
23.3.3.1.2. Lokalisierung in den Startdateien der Shells

Anmerkung:

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

23.3.4. Einrichten der Konsole

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 Configure und dann Console 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:

ZeichensatzTerminaltyp
ISO8859-1 oder ISO8859-15cons25l1
ISO8859-2cons25l2
ISO8859-7cons25l7
KOI8-Rcons25r
KOI8-Ucons25u
CP437 (VGA default)cons25
US-ASCIIcons25w

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:

SprachePort
traditionelles Chinesisch (BIG-5)chinese/big5con
Japanischjapanese/kon2-16dot oder japanese/mule-freewnn
Koreanischkorean/han

23.3.5. Einrichtung von Xorg

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.

23.3.5.1. Zeichensätze

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.

23.3.5.2. Eingabe von nicht-englischen Zeichen

Das X Input Method (XIM) Protokoll ist ein neuer Standard für alle Xorg-Clients. Jede Xorg-Anwendung sollte als XIM-Client, der Eingaben von einem XIM-Server entgegen nimmt, implementiert sein. XIM-Server sind für verschiedene Sprachen erhältlich.

23.3.6. Einrichten eines Druckers

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.

23.3.7. Kernel und Dateisysteme

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>.