In both cases below the LANG variable is not correctly set: it needs to be "de_DE.utf8" (without the "@euro") Befehlsauflistung 3.1: Setzen der Standard-System-Locale in /etc/env.d/02locale LANG="de_DE.utf8@euro" LC_COLLATE="C" Notiz: Fügen Sie @euro zu Ihrer Locale hinzu, wenn Sie das Euro Währungssymbol (€) nutzen wollen. Es ist auch möglich, und besonders in eher traditionellen UNIX-Umgebungen üblich, die globalen Einstellungen unverändert zu lassen, d.h. auf der "C" Locale. Anwender können immer noch ihre bevorzugte Locale in ihrer eigenen Shell-RC-Datei festlegen: Befehlsauflistung 3.2: Setzen der Anwender-Locale in ~/.bashrc export LANG="de_DE.utf8@euro" export LC_COLLATE="C" Reproducible: Always
Looks like this is the English version too, so it needs to be fixed everywhere. Here's what's in /usr/share/i18n/SUPPORTED for available de_DE options: de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15 GDP: so, what do we want to use as our example?
Eh, f***it. Decided to show two examples, one for .UTF-8 and one for @euro. This way it covers all the bases. Also cleaned up some of the capitalization and brought in line with exactly how the SUPPORTED file lists each locale. Fixed in CVS.
The new version is not correct. is: LANG="de_DE.UTF-8 UTF-8" must be: LANG="de_DE.UTF-8"
(In reply to comment #3) > The new version is not correct. > is: LANG="de_DE.UTF-8 UTF-8" > must be: LANG="de_DE.UTF-8" Not according to /usr/share/i18n/SUPPORTED: de_DE.UTF-8 UTF-8 Here's the full list of available de_ locales in the file: de_AT.UTF-8 UTF-8 de_AT ISO-8859-1 de_AT@euro ISO-8859-15 de_BE.UTF-8 UTF-8 de_BE ISO-8859-1 de_BE@euro ISO-8859-15 de_CH.UTF-8 UTF-8 de_CH ISO-8859-1 de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15
This is a different thing. Type locale -a for all available public locales. all values in /usr/share/i18n/SUPPORTED are possible for locale-gen ------ # grep de /usr/share/i18n/SUPPORTED de_AT.UTF-8 UTF-8 de_AT ISO-8859-1 de_AT@euro ISO-8859-15 de_BE.UTF-8 UTF-8 de_BE ISO-8859-1 de_BE@euro ISO-8859-15 de_CH.UTF-8 UTF-8 de_CH ISO-8859-1 de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15 de_LU.UTF-8 UTF-8 de_LU ISO-8859-1 de_LU@euro ISO-8859-15 gez_ER@abegede UTF-8 gez_ET@abegede UTF-8 ks_IN@devanagari UTF-8 sd_IN@devanagari UTF-8 ----- # locale -a C POSIX de_DE.utf8 if i set the lang variable to "de_DE.UTF-8 UTF-8" i get error messages for example in autounmask # autounmask bla perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_COLLATE = "C", LANG = "de_DE.UTF-8 UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
(In reply to comment #5) > This is a different thing. > Type locale -a for all available public locales. all values in > /usr/share/i18n/SUPPORTED are possible for locale-gen > > ------ > # grep de /usr/share/i18n/SUPPORTED > de_AT.UTF-8 UTF-8 > de_AT ISO-8859-1 > de_AT@euro ISO-8859-15 > de_BE.UTF-8 UTF-8 > de_BE ISO-8859-1 > de_BE@euro ISO-8859-15 > de_CH.UTF-8 UTF-8 > de_CH ISO-8859-1 > de_DE.UTF-8 UTF-8 > de_DE ISO-8859-1 > de_DE@euro ISO-8859-15 > de_LU.UTF-8 UTF-8 > de_LU ISO-8859-1 > de_LU@euro ISO-8859-15 > gez_ER@abegede UTF-8 > gez_ET@abegede UTF-8 > ks_IN@devanagari UTF-8 > sd_IN@devanagari UTF-8 > > > ----- > # locale -a > C > POSIX > de_DE.utf8 > > if i set the lang variable to "de_DE.UTF-8 UTF-8" i get error messages That is some pretty screwed up behavior. It's very inconsistent. Also, the locales listed by your /usr/share/i18n/SUPPORTED do not match mine. What version of glibc are you running? On my system, using latest *stable* glibc, "de_DE.UTF-8 UTF-8" is the proper entry in SUPPORTED for getting unicode. For unicode English, SUPPORTED says "en_US.UTF-8 UTF-8". So I put that into /etc/locale.gen: en_US.UTF-8 UTF-8 Now when I run locale -a, it displays: C en_US en_US.iso88591 en_US.utf8 POSIX . . . so it knows what en_US.UTF-8 UTF-8 means, and displays it accordingly. I've never had an error message despite having that extra UTF-8 after the end. I suspect 1) something on your system is b0rked, or you're using ~arch somewhere (which is *not* covered by our documentation) . . . or 2) glibc has some really *inconsistent* behavior.
i have the glibc-2.9_p20081201-r1. this behaviour is all right. there is one syntax for /etc/locale.gen -> /usr/share/i18n/SUPPORTED (for example "de_DE.UTF-8 UTF-8") and after you run locale-gen you can check the possible syntax for the lang variable with locale -a this syntax is "de_DE.utf8" (without the second UTF8)
(In reply to comment #7) > i have the glibc-2.9_p20081201-r1. You're using ~arch, not the stable glibc. We do not document ~arch configuration, so no further changes will be made to the guide until 2.9 or 2.10 are marked stable.
this is the same behaviour as for glibc-2.8_p20080602-r1. there might be some different locales, but the approach is the same. it is not fixes in this note: Note: Use de_DE@euro ISO-8859-15 as your LANG if you want to use the Euro currency symbol (€). the ISO-... is too much. And its nowhere fixed in the german version of the documentation there is a mistake in the documentation. also for the stable glibc !!!!
The German team fixes the document after picking up the changes to the English version, which I just made. Closing.
It's wrong again. From last commit (1.57): -Use <c>de_DE@euro ISO-8859-15</c> as your LANG if you want to use the Euro -currency symbol (€). +Use <c>de_DE@euro</c> as your LANG if you want to use the Euro currency symbol +(€). ^- This is correct. en_GB ISO-8859-1 en_GB.UTF-8 UTF-8 de_DE ISO-8859-1 -de_DE@euro ISO-8859-15 +de_DE@euro ^- This is wrong. /etc/locale.gen needs to things on each line: The locale and a charmap. Here the charmap is missing so it'll treat the next locale on the next line as the charmap for *this* locale, and the charmap on the next line for the locale on the next line as another locale (k?). Example: My file looks like this: ... de_DE@euro ISO-8859-15 de_DE@euro es_MX ISO-8859-1 Running locale-gen: ... * (7/7) Generating de_DE@euro... character map file `es_MX' not found: No such file or directory [ !! ] * Bad entry in locale.gen: 'ISO-8859-1 '; skipping So reverting the second part of your last commit should finally fix this bug.
(In reply to comment #11) > ^- This is wrong. /etc/locale.gen needs to things on each line: s/to things/two things/
ping, what's holding this up? We already discussed the issue on IRC and via mail, it just needs to be committed. :)
I do stuff when I have time. Fixed in CVS.