|
In seiner ganzen Schönheit ist L10N nichts, was auf FreeBSD alleine beschränkt ist, im Gegenteil, es ist eine Konvention, an die sich viele Programme für verschiedene Betriebssysteme halten. Wir möchten Sie anregen, FreeBSD bei der Unterstützung dieser Konvention zu helfen.
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 (oder ein anderes UNIX® System, das I18N unterstützt) 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. Eine Variation von Deutsch wäre zum Beispiel de_CH, das eine lokale Anpassung an das in der Schweiz gesprochene Deutsch meint. Außerdem benutzen Webbrowser, SMTP/POP Server, Webserver usw. diese, um Entscheidungen über die Sprache zu fällen. Im Folgenden sind einige Beispiele für Sprach- und Ländercodes aufgelistet:
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 in den Genuss von lokalen Zeichensätzen zu kommen, 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. Bitte konsultieren Sie die I18N-Dokumentation des entsprechenden FreeBSD-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[1] (siehe multibyte(3)), zum Beispiel ISO-8859-1, ISO-8859-15, KOI8-R, CP437.
Wide- oder Multibyte-Codierungen, zum Beispiel EUC, Big5.
Eine aktuelle Liste der Zeichensätze ist in der IANA Registry. verfügbar.
Anmerkung: Ab FreeBSD 4.5 werden X11-kompatible Codierungen verwendet.
Im FreeBSD-Ports- und Paket-System 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 Ihrer Login-Shell auf den Wert der Locale zu setzen und die Variable zu exportieren. Dies geschieht normalerweise in Ihrer ~/.login_conf oder der Startdatei Ihrer Shell (~/.profile, ~/.bashrc, ~/.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 Ihren Konfigurationsdateien:
LANG für Funktionen der POSIX® setlocale(3) Familie
MM_CHARSET gibt den den MIME Zeichensatz von Anwendungen an
Damit ist die Locale für die Shell, jede Anwendung und X11 eingestellt.
Es gibt zwei Wege, 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 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:\ :lc_all=zh_TW.Big:\ :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=xcin": #Setting 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. Die folgenden Einstellungen müssen in /etc/login.conf vorgenommen werden:
Sprache:Beschreibung:\ :charset=MIME_Zeichensatz:\ :lang=Locale:\ :tc=default:
Die für Latin-1 erforderlichen Einträge sehen wie folgt aus:
german:German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default:
Wenn Sie neue Accounts mit vipw anlegen, erstellen Sie Einträge in folgender Art:
user:password:1111:11:Sprache:0:0:Benutzername:/home/user:/bin/sh
Wenn Sie neue Accounts mit adduser anlegen, stehen Ihnen die folgenden Möglichkeiten zur Verfügung:
Geben Sie in /etc/adduser.conf mit defaultclass = Sprache eine Sprache vor. In diesem Fall müssen Sie für Benutzer anderer Sprachen eine andere Login-Klasse angeben.
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 Accounts mit pw(8) anlegen, benutzen Sie die folgende Kommandozeile:
# pw useradd Account -L Sprache
Anmerkung: Da Sie jede Shell unterschiedlich einrichten müssen, sollten Sie diese Methode nicht verwenden. Benutzen Sie stattdessen bitte 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 Sie die Einstellungen in den Vorgabedateien der Shells vornehmen. Die oben gezeigten Einstellungen aus /etc/profile tragen Sie dann in /usr/share/skel/dot.profile und die Einstellungen aus /etc/csh.login in /usr/share/skel/dot.login ein.
Die Einstellungen für X11 in $HOME/.xinitrc sind von der verwendeten Login-Shell abhängig. Mit Bourne Shells verwenden Sie den folgenden Eintrag:
LANG=de_DE.ISO8859-1; export LANG
Mit C-Shells verwenden Sie den nachstehenden Eintrag:
setenv LANG de_DE.ISO8859-1
Wenn Sie C-char Zeichensätze[1] 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.
Stellen Sie sicher, dass Sie die richtige Tasten- und Bildschirmzuordnung (keymap und screenmap) verwenden. Dies können Sie in sysinstall (vor FreeBSD 5.2 /stand/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 im Pseudographik Modus 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 in /etc/rc.conf den moused Dæmon mit der nachstehenden Anweisung aktiviert haben:
moused_enable="YES"
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. Wenn Sie eine frühere FreeBSD-Version als 5.0 verwenden, fügen Sie dazu in Ihrer Kernelkonfiguration die folgende Zeile ein:
options SC_MOUSE_CHAR=0x03
Ab FreeBSD 4.4 ergänzen Sie /etc/rc.conf um die folgende Zeile:
mousechar_start=3
keymap_name 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 für die ttyv* Konsolen in /etc/ttys angegeben ist. Momentan sind die folgenden Terminaltypen definiert:
Zeichensatz | Terminaltyp |
---|---|
ISO-8859-1 oder ISO-8859-15 | cons25l1 |
ISO-8859-2 | cons25l2 |
ISO-8859-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 X11 nicht Teil des FreeBSD-Projekts ist, stellen wir hier einige Hinweise für FreeBSD-Benutzer zusammen. Weitere Details entnehmen Sie bitte der Xorg Website oder der Dokumentation Ihres X11 Servers.
Anwendungsspezifische I18N-Einstellungen (Zeichensätze, Menüs, usw.) können Sie in ~/.Xresources vornehmen.
Installieren Sie den Xorg-Server (x11-servers/xorg-server) oder den XFree86™-Server (x11-servers/XFree86-4-Server) und die TrueType® Zeichensätze Ihrer Sprache. Wenn Sie die Locale gesetzt haben, sollten die Menüs in Ihrer Sprache erscheinen.
Das X11 Input Method (XIM) Protokoll ist ein neuer Standard für alle X11-Clients. Jede X11-Anwendung sollte als XIM-Client, der Eingaben von einem XIM-Server entgegen nimmt, implementiert sein. XIM-Server sind für verschiedene Sprachen erhältlich.
Drucker verfügen normalerweise schon über einige C-char Zeichensätze[1]. Wide- oder Multibyte-Zeichensätze müssen gesondert eingerichtet werden. Wir empfehlen Ihnen, dazu apsfilter zu benutzen. Weiterhin können Sie mit sprachspezifischen Konvertern Ihre Dokumente auch in PostScript® oder PDF umwandeln.
Das FreeBSD-Dateisystem (FFS) unterstützt 8-Bit, so dass es mit C-char Zeichensätzen[1] (siehe multibyte(3)) 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 aktivieren. Sie sind allerdings nicht im Quelltext enthalten, da sie nur schwer pflegbare Übergangslösungen sind. 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 FreeBSD Zeichensätzen konvertieren. Weitere Details entnehmen Sie bitte mount_msdos(8).
[1] |
Mit C-char Zeichensätzen werden Zeichensätze bezeichnet, die zur Codierung den C-Datentyp char verwenden. |
Zurück | Zum Anfang | Weiter |
Grundlagen | Nach oben | I18N-Programme übersetzen |
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>.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:55