[linux-l] locales (was: case-less bash)

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Mo Nov 19 17:48:35 CET 2007


Hallo,

On Mon, Nov 19, 2007 at 02:08:44AM +0100, Steffen Dettmer wrote:

> Ich hab's immer noch nicht verstanden, sorry. Also, in de_DE at euro (?)
> sind a und A das gleiche, ja? Bei mir ist LC_COLLATE=POSIX gesetzt,
> weiss nicht (mehr?) warum.
> 
> In man locale steht zu case nur
> 
>        LC_CTYPE
> 
>                Character classification and case conversion.
> 
> um conversion ging es aber doch gar nicht?
> 
> Please noch ein kleiner Hint (ruhig bisschen weniger klein :))?

LC_CTYPE sagt, welche Zeichen als Buchstaben, Ziffern, Blanks etc.
klassifiziert werden, und wie man zwischen Groszbuchstaben in
Kleinbuchstaben konvertiert. (Wirkt sich also -- wie der Name schon sagt
-- auf die Funktionen in #include <ctype.h> aus: is_alpha(), is_blank(),
toupper() etc.)

LC_CTYPE legt auch den Standard-Zeichensatz fest: de_DE fuer ISO-8859-1,
de_DE at Euro (glaube ich) fuer ISO-8859-15, de_DE at utf8 (oder so aehnlich)
fuer UTF-8.

LC_COLLATE legt Sortierreihenfolge und Aequivalenzklassen von Zeichen
fest. Also auch, ob Groszbuchstaben und Kleinbuchstaben gleich behandelt
werden sollen.

Die anderen tun nichts zur Sache, aber wenn wir schon dabei sind:
LC_MESSAGES legt fest, in welcher Sprache die UIs der Programme sich
praesentieren -- Menuepunkte, Fehlermeldungen etc. Die anderen (LC_TIME,
LC_MONETARY, LC_NUMERIC etc.) legen fest, wie bestimmte Arten von
Informationen in Programmausgaben Formatiert werden. LC_NUMERIC zum
Beispiel Dezimalpunkt und Tauseder-Trennzeichen, LC_TIME Datumsangaben.

Ich persoenlich habe nur LC_CTYPE gesetzt -- alles andere finde ich
ausgesprochen nervig.

-Olaf-



Mehr Informationen über die Mailingliste linux-l