Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Kein Support von X für Locales mit @ im Namen?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Guenther Brunthaler
Apprentice
Apprentice


Joined: 22 Jul 2006
Posts: 219
Location: Vienna

PostPosted: Wed Aug 09, 2006 7:55 pm    Post subject: Kein Support von X für Locales mit @ im Namen? Reply with quote

Liebe Leute,

Nachdem ich seit der Erstellung einer eigenen Locale mit dem Namen "de_AT.utf8@vienna" in der Konsole zwar perfekt arbeiten konnte, unter X11 aber immer die ärgerliche Meldung "locale not supported by Xlib" zu sehen bekam, ging ich der Sache nach.

Dabei stellte sich heraus, dass die X11-Funktion XSupportsLocale() schuld daran war - sie behauptete einfach, meine Locale nicht zu unterstützen. Ohne jede Begründung. Und das, obwohl ich in locale.alias einen Eintrag hinzu gefügt hatte.

Die Funktion XSupportsLocale() wird von praktisch allen X11-Programmen, inklusive KDE- und GNOME-Programmen verwendet, die internationalisiert sind.

Aber nirgends konnte ich einen Hinweise darauf finden, was man dagegen machen soll, wenn XSupportsLocale() sagt dass es eine Locale nicht unterstützt!

Also experimentierte ich ein bisschen herum, und fand schliesslich heraus: Es war offenbar der Zusatz "@vienna", welcher XSupportsLocale() störte!

Denn wenn ich genau dieselbe Locale-Definitionsdatei nahme, und damit eine Locale ohne den @-Zusatz erzeugte
Code:

# localedef -f UTF-8 \
   -i /usr/local/share/i18n/locales/de_AT@vienna \
   --no-archive de_AT.utf8

dann klappte plötzlich alles bestens - auch unter X.

Da ich das @-Zeichen dringend verdächtigte, probierte ich dasselbe mit der bereits vordefinierten Locale de_AT@euro - und siehe da: X hatte hier genau dieselben Schwierigkeiten!

Es scheint also tatsächlich, dass X sich simpel weigert Locales zu unterstützen, die ein @ im Namen haben.

Andererseits kann ich mir das nicht vorstellen; de_AT@euro ist schließlich eine standardmäßig mit glibc mitgelieferte Locale!

Andererseits ist glibc ja nicht dasselbe wie x.org...

Jedenfalls würde mich interessieren: Was sind eure Erfahrungen unter X mit Locales, wo das @ Teil des Locale-Namens ist?

Schafft ihr es, mit einer solchen Locale X-Programme wie xclock zu starten, ohne dass ständig "locale not supported by Xlib"-Meldungen kommen (sieht man natürlich nur wenn man diese X-Programme von einem xterm/konsole-Fenster aus startet)?

Nebenbei frage ich mich ohnehin, was der Unterschied zwischen de_AT und de_AT@euro sein soll: Letztere Locale hat zwar einen anderen Namen in LC_IDENTIFICATION, aber alle anderen (= alle relevanten) Locale-Kategorien sind einfach 1:1 aus de_AT kopiert.

Es scheint daher, dass de_AT@euro nicht nur nicht funktioniert, sondern auch sinnlos ist.

Des weiteren glaube ich mich zu erinnern, dass ich vor langer Zeit in der POSIX-Spezifikation gelesen habe, dass in der Syntax für Locale-Namen gar kein @ erlaubt sein soll, sondern alle Locale-Namen immer die Form <sprache>_<LAND>.<charset> oder <sprache>_<LAND> haben müssen.

Da ich auf meinem System Locales wie de_AT@euro fand, glaubte ich damals dass diese POSIX-Behauptung nicht mehr aktuell oder schlichtweg falsch sei.

Seit meinen Erlebnissen mit "locale not supported" bin ich da nicht mehr so sicher...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum