#1140489 does not honor LC_MESSAGES

#1140489#5
Date:
2026-06-21 12:02:35 UTC
From:
To:
Hi,

I have:

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

still, git-cola speaks German to me.

Greetings
Marc

#1140489#10
Date:
2026-06-25 20:03:23 UTC
From:
To:
still, git-cola speaks German to me.



Thanks Marc, I can take a look at fixing this upstream.

I'm not super familiar with the semantics of these variables, but the solve
seems straightforward.

To verify -- the logic should be that if LC_MESSAGES is defined then it
should override LANG, is that correct?

If so I'll adjust the language detection to honor LC_MESSAGES over the
other variables.

cheers,

#1140489#15
Date:
2026-06-25 20:03:23 UTC
From:
To:
still, git-cola speaks German to me.



Thanks Marc, I can take a look at fixing this upstream.

I'm not super familiar with the semantics of these variables, but the solve
seems straightforward.

To verify -- the logic should be that if LC_MESSAGES is defined then it
should override LANG, is that correct?

If so I'll adjust the language detection to honor LC_MESSAGES over the
other variables.

cheers,

#1140489#20
Date:
2026-06-26 05:18:03 UTC
From:
To:
David,
 There is an old, but detailed writing on this topic [1] which might help you.

Cheers,
Laszlo/GCS
[1] https://www.linux.com/news/controlling-your-locale-environment-variables/

#1140489#25
Date:
2026-06-26 06:07:51 UTC
From:
To:
Hi David,

      (1)  If there is a non-null environment  variable  LC_ALL,  the  value  of
           LC_ALL is used.

      (2)  If  an  environment  variable  with the same name as one of the cate‐
           gories above exists and is non-null, its value is used for that cate‐
           gory.

      (3)  If there is a non-null environment variable LANG, the value  of  LANG
           is used.

In other words: LC_ALL overrides everything. LC_something overrides
LANG. LANG is the default, in absence of LC_*

Greetings
Marc