Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 273779 - LANG variable not set correctly
Summary: LANG variable not set correctly
Status: RESOLVED FIXED
Alias: None
Product: Documentation
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: nm (RETIRED)
URL: http://www.gentoo.org/doc/de/guide-lo...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-11 20:32 UTC by Till Schäfer
Modified: 2009-07-12 01:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Till Schäfer 2009-06-11 20:32:12 UTC
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
Comment 1 nm (RETIRED) gentoo-dev 2009-06-12 03:01:55 UTC
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?

Comment 2 nm (RETIRED) gentoo-dev 2009-06-14 09:20:11 UTC
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.
Comment 3 Till Schäfer 2009-06-14 21:07:55 UTC
The new version is not correct. 
is: LANG="de_DE.UTF-8 UTF-8"
must be: LANG="de_DE.UTF-8"
Comment 4 nm (RETIRED) gentoo-dev 2009-06-14 22:34:55 UTC
(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
Comment 5 Till Schäfer 2009-06-15 17:43:18 UTC
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").
Comment 6 nm (RETIRED) gentoo-dev 2009-06-15 20:04:25 UTC
(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.
Comment 7 Till Schäfer 2009-06-22 19:45:18 UTC
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)
Comment 8 nm (RETIRED) gentoo-dev 2009-06-22 19:48:36 UTC
(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.
Comment 9 Till Schäfer 2009-06-22 19:58:50 UTC
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 !!!!
Comment 10 nm (RETIRED) gentoo-dev 2009-06-22 20:10:33 UTC
The German team fixes the document after picking up the changes to the English version, which I just made.

Closing.
Comment 11 Tobias Heinlein (RETIRED) gentoo-dev 2009-06-23 13:22:58 UTC
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.
Comment 12 Tobias Heinlein (RETIRED) gentoo-dev 2009-06-23 13:23:44 UTC
(In reply to comment #11)
> ^- This is wrong. /etc/locale.gen needs to things on each line: 

s/to things/two things/
Comment 13 Tobias Heinlein (RETIRED) gentoo-dev 2009-07-11 11:56:52 UTC
ping, what's holding this up? We already discussed the issue on IRC and via mail, it just needs to be committed. :)
Comment 14 nm (RETIRED) gentoo-dev 2009-07-12 01:06:48 UTC
I do stuff when I have time.

Fixed in CVS.