Comment 0 for bug 918758

Revision history for this message
Captain Chaos (launchpad-chaos) wrote :

QT 4.4, included in Ubuntu Oneiric Ocelot, incorrectly determines the default locale, causing QT-based programs to use the wrong language for the user interface, among other things.

There is already a bug report for this in QT: https://bugreports.qt.nokia.com/browse/QTBUG-1313. According to that report the bug has been fixed in version 4.8. Is it possible to either upgrade QT to 4.8, or backport that fix?

The problem appears to be that QT incorrectly uses the LC_NUMERIC variable to determine the default locale (when it should only determine the number format to use), and ignores the LANG variable. My locale settings are as follows:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=nl_NL.UTF-8
LC_NUMERIC=nl_NL.UTF-8
LC_TIME=nl_NL.UTF-8
LC_COLLATE=nl_NL.UTF-8
LC_MONETARY=nl_NL.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=nl_NL.UTF-8
LC_NAME=nl_NL.UTF-8
LC_ADDRESS=nl_NL.UTF-8
LC_TELEPHONE=nl_NL.UTF-8
LC_MEASUREMENT=nl_NL.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

And yet QT based programs (in contrast with all other programs on my computer) use Dutch for the user interface, when they should be using English as indicated by the LANG variable. Setting LC_ALL causes them to use English, but that is not an acceptable solution since LC_ALL overrides all the other LC_* variables.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: libqtcore4 4:4.7.4-0ubuntu8
ProcVersionSignature: Ubuntu 3.0.0-14.23-generic 3.0.9
Uname: Linux 3.0.0-14-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
Date: Thu Jan 19 16:50:29 2012
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
SourcePackage: qt4-x11
UpgradeStatus: Upgraded to oneiric on 2011-11-23 (57 days ago)