Here is the 'export' output related to locale:

declare -x LANG="en_CA.utf8"
declare -x LC_ADDRESS="en_CA.UTF-8"
declare -x LC_IDENTIFICATION="en_CA.UTF-8"
declare -x LC_MEASUREMENT="en_CA.UTF-8"
declare -x LC_MONETARY="en_CA.UTF-8"
declare -x LC_NAME="en_CA.UTF-8"
declare -x LC_NUMERIC="en_CA.UTF-8"
declare -x LC_PAPER="en_CA.UTF-8"
declare -x LC_TELEPHONE="en_CA.UTF-8"
declare -x LC_TIME="en_CA.UTF-8"

All of those are in /etc/locale.conf, which, as I said, must have been something I put there myself since it doesn't belong to any package.

Yes, the LC_TIME variable supercedes LANG:

hank@SunVillage:~/Documents/Programming/NYTimes_Covid_Data$ LANG=fr_CA.UTF-8 date
Sat 25 Jul 2020 04:06:44 PM EDT

And yes, LC_ALL supercedes LC_TIME:

hank@SunVillage:~/Documents/Programming/NYTimes_Covid_Data$ LC_ALL=fr_CA.UTF-8 date
sam 25 jui 2020 16:06:49 EDT

I don't remeber what made me install /etc/locale.conf. I am thinking I should remove it.

Hope that helps.

On 2020-07-24 1:08 p.m., Osamu Aoki wrote:
I see.  If you "export" LC_TIME, then that may have priority ...

Please check output of "export"

My system is free from /etc/locale.conf

My "export" output for locale related variables are only with

declare -x LANG="en_US.UTF-8"
declare -x LANGUAGE="en_US:en"

Maybe changing example to use LC_ALL

$ export  LC_TIME=en_US.UTF-8
$ LC_ALL=fr_CA.UTF-8 date
samedi 25 juillet 2020, 02:08:20 (UTC+0900)
$ LANG=fr_CA.UTF-8 date
Sat 25 Jul 2020 02:08:34 AM JST

On Fri, 2020-07-24 at 12:08 -0400, Hank Knox wrote:
locales-all got installed by this morning's full-upgrade, but the
issue
is the same.

I think my problem is having an /etc/locale.conf file with a bunch
of
LC_ variables set. I don't know where that file came from, perhaps a
previous installation that got copied into the new one.

Hank

On 2020-07-24 11:39 a.m., Osamu Aoki wrote:
Oops,

I think your problem goes out if you install the locales-all
package

I forgot to ask:

   $ dpkg -l locales*

If you didn't install locales-all package or generate fr_CA.UTF-8
locale data manually by running the following

   $ sudo dpkg-reconfigure locales

You get English ... didn't I mention this ... Yes:

     For fine details of the locale configuration, see Section 8.4,
“The
     locale”.

You should have clicked there to read Section 8.4.  But not so
obvious
... Now I know ...

Ububtu and Old Debian's locales are like locales-all on recent
Debian.

Current Debian's locales are small and requires user to configure
it
manually while locales-all is huge and pre-confugured

Maybe it is good idea to guide people to the locales-all package

On Fri, 2020-07-24 at 09:38 -0400, Hank Knox wrote:
Thank you for taking the time to respond to this.

I was reading the Debian Reference shortly after a clean install
of
bullseye. (It's a very useful document, BTW, thanks for doing
it.)
However I have been running Debian for years and migrated some
config
files over from a previous installation so perhaps my setup does
not
reflect the usual defaults.

Here is the info you asked for:

hank@SunVillage:~$ locale
LANG=en_CA.utf8
LANGUAGE=
LC_CTYPE="en_CA.utf8"
LC_NUMERIC=en_CA.UTF-8
LC_TIME=en_CA.UTF-8
LC_COLLATE="en_CA.utf8"
LC_MONETARY=en_CA.UTF-8
LC_MESSAGES="en_CA.utf8"
LC_PAPER=en_CA.UTF-8
LC_NAME=en_CA.UTF-8
LC_ADDRESS=en_CA.UTF-8
LC_TELEPHONE=en_CA.UTF-8
LC_MEASUREMENT=en_CA.UTF-8
LC_IDENTIFICATION=en_CA.UTF-8
LC_ALL=

hank@SunVillage:~$ echo
$XDG_CURRENT_DESKTOP='XDG_CURRENT_DESKTOP'
XFCE=XDG_CURRENT_DESKTOP

I am not sure what is setting the various LC_ variables. I
grepped
my
home directory, /etc/bash.bashrc and /etc/profile and the only
result
that references LC_ is
".xsession-errors:dbus-update-activation-environment: setting
LC_TIME=en_CA.UTF-8" in my home directory; there are similar
entries
for
all the other LC_ variables in my environment. Is there some
configuration of dbus that sets those variables? If so, I don't
know
where that is configured. I fear I have enough Linux experience
to
get
in trouble but not enough to be really knowledgeable!

Best,

Hank Knox

On 2020-07-23 10:44 p.m., Osamu Aoki wrote:
Hmmm...

I agree this is probably not a bug but a user support
problem.  Let
me
add a comment:

I chose to use $LANG to set the locale since that seems to be
the
way
default install configures used by Debian system.

Hank, if you are facing this issue on some default install
system
without violating my recommendation, let is know your desktop
etc.

Please run the following to check:

$ locale
$ echo "XDG_CURRENT_DESKTOP='$XDG_CURRENT_DESKTOP'"

Report it back to this bug

Hank, anyway did you read on to the last part of 1.5.2 first:

      See locale(5) and locale(7) for "$LANG" and related
environment
      variables.

      [Note]    Note
      I recommend you to configure the system environment just
by the
      "$LANG" variable and to stay away from "$LC_*" variables
unless
it
      is absolutely needed.

I am pretty sure your system doesn't follow my recommendation.

FYI: locale(7) describes:

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
      categories above exists and is non-null, its value is used
for
that
      category.

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

Reply via email to