[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#591334: libc6: LANGUAGE not taken into account unless LC_MESSAGES is set



On 2010-09-14 15:42:15 +0200, Aurelien Jarno wrote:
> It's most probably a documentation issue, given this behaviour is
> actually wanted, according to this changelog entry:
> 
> | 2001-01-02  Ulrich Drepper  <drepper@redhat.com>
> | 
> |         * intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE
> |         value is ignored if the selected locale is the C locale.
> 
> and this NEWS entry:
> 
> | Version 2.2.1
> | 
> | * The LANGUAGE environment variable is now ignored unless the locale is
> |   changed from the default "C" locale.

I have:

ypig:~> locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="POSIX"
LC_TIME=en_DK
LC_COLLATE=POSIX
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

This is not the "C" locale. Even though POSIX and C could be regarded
as equivalent, there are still LC_CTYPE and LC_TIME, which are not in
the C/POSIX locale.

Alternatively, to avoid the problem I mentioned, the language
specified by LC_MESSAGES should be prepended to $LANGUAGE to get the
list of languages, so that a software that doesn't know $LANGUAGE
wouldn't yield surprising behavior if it sets LC_MESSAGES to some
language like en_US.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)



Reply to: