Re: Korrekte LC-Einstellung für die deutsche Sprache

From: Polytropon <freebsd(at)edvax.de>
Date: Mon, 6 Apr 2009 22:35:14 +0200

ABEND,

erstmal vielen Dank für die schnelle und präzise Antwort.

On Mon, 6 Apr 2009 16:03:40 +0200 (CEST), Oliver Fromme <olli(at)lurza.secnetix.de> wrote:
> Zum Beispiel möchte ich (natürlich) deutsche Umlaute ein-
> geben und verwenden können. Andererseits möchte ich alle
> Fehler- und sonstige Meldungen in der originalen Sprache
> (also Englisch haben). Letzteres aus drei Gründen:
> Erstens sind die deutschen Übersetzungen häufig irreführend
> und manchmal schlichtweg falsch. Zweitens sind Support-
> Foren und Mailinglisten häufig auf Englisch, und ich will
> da nicht immer erst hin- und herübersetzen müssen und
> raten, wie ein bestimmter Menüpunkt nun in der jeweils
> anderen Sprache heißt. Drittens kann der Autor in der
> Regel mit deutschen Ausgaben nichts anfangen, wenn man
> ihm einmal einen Bug-Report o.ä. schicken muss.
>
> Auch den Dezimalpunkt möchte ich als Punkt und nicht als
> Komma haben. Die Verwechslungsgefahr ist mir sonst zu
> groß.
>
> Aus o.g. Gründen setze ich daher weder LC_ALL noch LANG,
> sonder nur LC_CTYPE=de_DE.ISO8859-1 (bzw. -15 für das
> Euro-Zeichen). Das genügt für die Nutzung von Umlauten,
> auch in Dateinamen, wenn man will (ich persönlich versuche
> das zu vermeiden, aber rein technisch geht es natürlich).

Sieh an, das mache ich auch so, aus denselben Gründen
(die Du sehr treffend geschildert hast). Daher sind meine
Einstellungen

        setenv LC_MESSAGES en_US.ISO8859-1
        setenv LC_COLLATE de_DE.ISO8859-1
        setenv LC_CTYPE de_DE.ISO8859-1
        setenv LC_MONETARY de_DE.ISO8859-1
        setenv LC_NUMERIC de_DE.ISO8859-1
        setenv LC_TIME de_DE.ISO8859-1

die ich in /(etc/csh.cshrc eingetragen habe. Hier sieht man
aber leider auch wieder mein Unwissen (oder Unvermögen), denn
ich glaube, das gehört nach /etc/login.conf.

Selbstverständlich vermeide ich Umlaute in Dateinamen, auch
Leerzeichen und was man sonst noch alles machen kann, aber
wenn jemand Umlaute verwendet, möchte ich diese gern sehen
anstatt von irgendwelchen Zauberzeichen.

Was mir komisch vorkommt ist das Euro-Zeichen. Obwohl ich
nicht -15, sondern -1 verwende, kann es unter X angezeigt
werden. Im Textmodus allerdings nicht, dort passiert gar
nichts. Ich vermute mal, daß im Zeichensatz auch gar kein
Euro-Zeichen enthalten ist - als der ASCII-Zeichensatz
erfunden wurde, gab es zwar Dollar, Pfund und Yen, aber
den Euro noch nicht.

> Wenn man einmal bei einem bestimmten Programm deutsche
> Menüs o.ä. haben möchte, dann kann man gezielt nur dieses
> Programm mit LC_MESSAGES=xxx oder LANG=xxx starten.

Das hatte ich experimentell schonmal ausprobiert, z. B.
unter X mit Sylpheed. Dann kommt (fast!) alles auf Deutsch,
allerdings auch extrabreit (die Schaltflächen), wirklich
furchtbar.

> > LC_ALL=UTF-8
>
> Das Problem damit ist, dass einige Teile des Systems noch
> nicht mit UTF-8 (oder anderen Multibyte-Codierungen) zu-
> rechtkommen. An erster Stelle sei hier syscons genannt.

Genau, das habe ich aus der questions(at)-Liste schon lernen
können. UTF-8 ist mit einigen Programmen unter X möglich,
aber kein "Allgemeinstandard".

> > gesetzt. Eine landesspezifische Kennung war mir da nicht
> > aufgefallen.
>
> Das ist auch nicht landesspezifisch, sondern nur für
> LC_CTYPE spezifiziert: $ ls /usr/share/locale/UTF-8
> Es enthält keine Informationen für LC_COLLATE usw.

Das leidige Sortierproblem.

> Für die landesspezifische Version müsstest Du entsprechend
> de_DE.UTF-8 einstellen. Das Problem hierbei ist, dass der
> Multibyte-Support bisher nur teilweise implementiert ist,
> d.h. die Collation wird trotzdem nicht korrekt funktionie-
> ren.

Das bedeutet dann also auch für alles, was nicht UTF-fest
ist, daß es zu Problemen kommen kann...

> Zum jetzigen Zeitpunkt kann man die Verwendung von UTF-8
> unter FreeBSD eigentlich (leider) noch nicht empfehlen.

Gut, also ist aktuell wohl noch ISO8859-1(5) zu wählen,
mit dem de_DE-Präfix, so die deutsche Sprache (oder andere
typisch deutsche Eigenschaften) gewünscht werden.

> Wenn Du einen USB-Stick, den Du auf einem
> System mit UTF-8 beschrieben hast, in einen Rechner mit
> ISO8859 steckst, darf das idealerweise nicht zu Problemen
> führen -- Das kannst Du aber nur garantieren, wenn Du Dich
> auf ASCII beschränkst.

Ich bekam einen solchen aus China. Ein ls auf den Stick
förderte Dateien der Namensform ????????.??? zutage,
was sich durch ein rm -rf /mnt/* leicht korrigieren ließ. :-)

> > Ach so, und was ist eigentlich mit LANG? Ist das ein
> > "Linuxismus", oder gibt es das unter FreeBSD auch?
>
> Wirf mal einen Blick in die environ(7)-Manpage. LANG ist
> im Grunde genommen ein Default für alle LC_*-Variablen,
> die nicht gesetzt sind (im Gegensatz zu LC_ALL, was alle
> anderen LC_*-Variablen überschreibt).

Wow, ich bin immer wieder angenehm überrascht, wie gut
unser BSD doch dokumentiert ist, und wenn man mich bloß
mit der Nase ins eigentlich offensichtliche Quellmaterial
schubst. :-)

Vielen Dank erstmal. Mein Fazit nochmal, bedarfsweise zur
Korrektur:

Aktuell ist de_DE.ISO8859-15 die weitestgehend empfohlene
Einstellung, um ein System einzudeutschen.

-- 
Polytropon
>From Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 06 Apr 2009 - 22:35:43 CEST

search this site