I’ve been trying to get the custom locale settings that I require for a while now.
Finally achieved (or bodged) it…
What I needed was en_GB with ISO short date format, 24hr time indication, and metric units.
Easy, I thought… I’ll just modify the relevant LC_* files for en_GB.
Using information from here (Locale Helper) https://lh.2xlibre.net/ it was quite easy to then use okteta to modify LC_TIME. Interestingly LC_MEASUREMENT was set to metric, although (KDE) “System Settings - Regional Settings - Formats” indicated imperial units, which was indeed what KDE was using.
Logout, reboot and login… No change, still date format of dd/mm/yyyy and imperial units.
“locale -k LC_TIME” and “locale -k LC_MEASUREMENT” both indicated that the formats where as I’d changed them to: yyyy-mm-dd and metric units.
Non KDE applications, GIMP’s file chooser for example, correctly showed the ISO format.
Google time… It seems that KDE/Qt doesn’t actually use the locale files of glibc…
Quote from: Locale Support in Qt 5 - Qt Wiki
… On all other platforms, such as Linux and Android, Qt’s built-in CLDR-based facilities are always used. …
Looking through the various options offered by (KDE) “System Settings - Regional Settings - Formats - Detailed Settings - Time (and Measurement Units)” it looked as if en_SE may give me the desired effect.
Changing those in KDE resulted in KDE applications having the formats I required, but not non-KDE applications. There is currently no (glibc) en_SE locale.
Bodge: Copy the modified en_GB locale I’d previously created and name it as en_SE…
Logout, reboot and login… Success, both KDE and non KDE applications now display ISO short date format, I have 24hr display of time, and metric units.
http://paste.opensuse.org/view/raw/363d1adc
There really should be an easier way…
Now to do the same for a leap 42.3 setup… err… earlier Qt version, doesn’t have en_SE, or indeed at a quick glance through, any locale that will give me what I need… Bother! 