Bug#564593: qjackctl: Uses LC_NUMERIC to set interface language

Adrian Knoth adi at drcomp.erfurt.thur.de
Mon Jan 11 15:06:10 UTC 2010


On Sun, Jan 10, 2010 at 04:21:48PM +0100, Harald Braumann wrote:

> Package: qjackctl
> Version: 0.3.5-1

> Hi,

Hi!

> qjackctl uses LC_NUMERIC to set the interface language, instead
> of LC_MESSAGES.
> 
> Here are my locale settings:
> 
> $ locale
> LANG=POSIX
> LANGUAGE=POSIX
> LC_CTYPE=de_AT.utf8
> LC_NUMERIC=de_AT.utf8
> LC_TIME=de_AT.utf8
> LC_COLLATE=de_AT.utf8
> LC_MONETARY=de_AT.utf8
> LC_MESSAGES=POSIX
> LC_PAPER=de_AT.utf8
> LC_NAME=de_AT.utf8
> LC_ADDRESS=de_AT.utf8
> LC_TELEPHONE=de_AT.utf8
> LC_MEASUREMENT=de_AT.utf8
> LC_IDENTIFICATION="POSIX"
> LC_ALL=
> 
> The interface language should be English, as LC_MESSAGES is set
> to POSIX, but it uses German. LC_MESSAGES has no influence
> on the interface language. Instead it is controlled by 
> LC_NUMERIC, which is quite stupid.


I'm not quite sure if this is really qtractor's fault. If you set LANG=C
instead of POSIX, it works.

On the other hand, "C" and "POSIX" should behave the same:

http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html#tag_07_02


Current qtractor code:

        if (loc.language() != QLocale::C) {

And when I check QT's QLocale class, I only see QLocale::C, no
QLocale::POSIX:

   http://doc.trolltech.com/4.6-snapshot/qlocale.html#Language-enum

So I see different options:

   - you change LANG from POSIX to C

   - TrollTech adds POSIX to their QLocale class

   - qtractor manually checks for the POSIX string in LC_whatever


I guess the last option is probably the worst, while the first is the
least complex one.

If not special-cased, all QT based apps would hit this bug. I don't know
if more packages don't honor POSIX==C in the LANG variable, but you
probably do. ;)


Cheerio

-- 
mail: adi at thur.de  	http://adi.thur.de	PGP/GPG: key via keyserver





More information about the pkg-multimedia-maintainers mailing list