I reside in Poland but I want all my programs to be in English, and they are, except for two: Phatch and Hedgewars.
My locale file:
To run Hedgewars in English I need to do this:
but to run Phatch in English I need to run this:
When I asked in #qt whether its a phatch/hedgewars bug, or a QT bug, this is the reply I got:
[17:33:56] <ahigerd> DrSlony: A little of both [17:34:22] <ahigerd> DrSlony: QLocale follows LC_NUMERIC because it's intended for numeric formatting purposes, so it's a bug if you're using QLocale for choosing a text language [17:34:36] <ahigerd> DrSlony: But it's also a flaw in Qt that it doesn't offer any way of detecting the appropriate user-messages language [17:35:35] <DrSlony> ahigerd : hmm, what about phatch using the correct language when i change LC_CTYPE and NOT LC_NUMERIC? [17:35:54] <ahigerd> DrSlony: So hedgewars is probably (wrongly) using QLocale. phatch isn't technically wrong because LC_CTYPE is a valid choice although it SHOULD be looking for LC_MESSAGES [17:36:58] <DrSlony> ahigerd what should hedgewars use instead of qlocale? [17:37:52] <ahigerd> DrSlony: It should check LC_MESSAGES, LC_ALL, LANG, and LANGUAGE environment variables, probably in that order
I didn't filter out hedgewars from the discussion because perhaps its relevant.
I hope this helps you fix Phatch from using the wrong language :]