https://bugs.kde.org/show_bug.cgi?id=340982

Roy Orbitson <roy-orbit...@devo.net.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |roy-orbit...@devo.net.au

--- Comment #268 from Roy Orbitson <roy-orbit...@devo.net.au> ---
So what's the right workaround for us users while we wait for a 7yo upstream
bug to be fixed, that may not even fully solve the problem? There are countless
questions about it in all the fora, with mostly conflicting solutions offered.
I just want my language + ISO date.

I've tried several things, including a custom locale
(https://unix.stackexchange.com/a/204329) which looks sensible except KDE
doesn't respect it. To get "Australian-ish" in KDE, in System Settings, I have
the Languages set to en_GB above en_US (because en_AU is unknown to it), then
individual formats set to Australian, except the date which is Swedish.
Apparently the latter disappeared for some time but now it's back
(https://superuser.com/q/1162283). I tried en_001 for time formats, too.

My `localectl` output is this:

>System Locale: LANG=en_AU.UTF-8
>               LANGUAGE=en_AU:en_GB:en
>               LC_TIME=en_AU.UTF-8@isodate
>    VC Keymap: (unset)                    
>   X11 Layout: us
>    X11 Model: pc105

KDE cannot/does not use these in a graphical session. Bash in Konsole (& other
programs) that would function as desired with those locale settings don't get
them. Their envs inherit the mishmash settings from KDE, despite KDE not using
glibc locales itself. I looks like KDE sets these env vars though they can
point to different translation & localisation resources depending on the
program. Examples: Python (notably when using apt) will stumble on the en_001
locale, and `date +%x\ %X` produces "07/03/24 12:55:56" even though KDE assures
me that en_SE's short date format is ISO.

I don't change env vars via Autostart's Login & Pre-startup scripts because I
think these would interfere with and/or be overridden by the selections in
Region & Language that I need for GUI programs.

My virtual terminals are fine. In tty6, I run `locale` and get:
>LANG=en_AU.UTF-8
>LANGUAGE=en_AU:en_GB:en
>LC_CTYPE="en_AU.UTF-8"
>LC_NUMERIC="en_AU.UTF-8"
>LC_TIME=en_AU.UTF-8@isodate
>LC_COLLATE="en_AU.UTF-8"
>LC_MONETARY="en_AU.UTF-8"
>LC_MESSAGES="en_AU.UTF-8"
>LC_PAPER="en_AU.UTF-8"
>LC_NAME="en_AU.UTF-8"
>LC_ADDRESS="en_AU.UTF-8"
>LC_TELEPHONE="en_AU.UTF-8"
>LC_MEASUREMENT="en_AU.UTF-8"
>LC_IDENTIFICATION="en_AU.UTF-8"
>LC_ALL=

But under Konsole I get:
>locale: Cannot set LC_ALL to default locale: No such file or directory
>LANG=en_GB.UTF-8
>LANGUAGE=en_GB:en_US
>LC_CTYPE="en_GB.UTF-8"
>LC_NUMERIC=en_AU.UTF-8
>LC_TIME=en_SE.UTF-8
>LC_COLLATE="en_GB.UTF-8"
>LC_MONETARY=en_AU.UTF-8
>LC_MESSAGES="en_GB.UTF-8"
>LC_PAPER=en_AU.UTF-8
>LC_NAME=en_AU.UTF-8
>LC_ADDRESS=en_AU.UTF-8
>LC_TELEPHONE=en_AU.UTF-8
>LC_MEASUREMENT=en_AU.UTF-8
>LC_IDENTIFICATION=en_AU.UTF-8
>LC_ALL=

I can't override the settings in .profile as shells in Konsole are not login
shells. They do read .bashrc but this probably doesn't help any other programs
that use glibc locales. I don't know what to do.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to