Before attempting anything, make sure all of the desired language packs (packages) have been installed.
That will set the base system (shared multi-user) default language. It will not let you choose a per User language different from the default.
This manages the content of the file
/etc/default/locale
There are references pointing to the following files, but I deferred any attempts using those:
~/.dmrc
~/.xsessionrc
/etc/environment
A while back, I had created a second "throw-away" user for testing, so I decided to use that to experiment.
There was a reference that pointed to the user's linchpin settings file as being
~/.profile
That file originally had no locale-related variables at all, so the Graphical Display Manager defaulted (as verified from any terminal session opened) to
en_CA.UTF-8
In "~/.profile", I added all the "locale-specific" variables that I want to set different from the system defaults. The inserted code, just after the first comment block in ".profile" is as follows:
####################################################################################################
####################################################################################################
### LANGUAGE SETTINGS
### REF: https://superuser.com/questions/1716239/setting-the-language-and-locale-in-gnome-on-debian-bullseye-has-no-effect
LANG="fr_CA.UTF-8"
LANGUAGE="fr_CA.UTF-8:fr_FR.UTF-8:fr_CH.UTF-8:fr_BE.UTF-8:fr_LU.UTF-8:fr"
LC_CTYPE="fr_CA.UTF-8"
LC_NUMERIC="fr_CA.UTF-8"
LC_TIME="fr_CA.UTF-8"
LC_COLLATE="fr_CA.UTF-8"
LC_MONETARY="fr_CA.UTF-8"
LC_MESSAGES="fr_CA.UTF-8"
LC_PAPER="fr_CA.UTF-8"
LC_NAME="fr_CA.UTF-8"
LC_ADDRESS="fr_CA.UTF-8"
LC_TELEPHONE="fr_CA.UTF-8"
LC_MEASUREMENT="fr_CA.UTF-8"
LC_IDENTIFICATION="fr_CA.UTF-8"
LC_ALL=
export LANG
export LANGUAGE
export LC_CTYPE
export LC_NUMERIC
export LC_TIME
export LC_COLLATE
export LC_MONETARY
export LC_MESSAGES
export LC_PAPER
export LC_NAME
export LC_ADDRESS
export LC_TELEPHONE
export LC_MEASUREMENT
export LC_IDENTIFICATION
export LC_ALL
####################################################################################################
####################################################################################################
IF you do not have the locale file for fr_CA.UTF-8, then there is a process to create that file and to generate the required files, using the command
locale-gen fr_CA
After creating that, and after doing any customizations to either standard locale files, or a user-created custom-modified version of that file, there is a need to make the system aware of those changes, and that can only be accomplished with the command
update-grub
Once that is done, you "sync" your system and reboot.
After reboot, you can log in as the user for which you modified the language setting.
You should immediately see the new user-specific language having been applied.
If the setting for language was changed after an earlier initial installation and configuration for another language, you will be prompted by a window (see below) telling you the language has been changed and asking if you want to change the names of default directories like Downloads, Documents, etc. to the new name corresponding to the language that the environment has been changed to.
You should be good at this point, unless you want to go back and tweak the .profile for that modified used (namely, not the same language for everything, but only for some aspects).
One important point (bug?):
The gnome-language-selector tool doesn't behave correctly, in my view. The App presents a window as seen here:
The problem with that is that, regardless of any attempts on my part, there is NO way to "drag+place" a lower language specification option into any other "relative ranking" position, which the App claims that we should be able to do, let alone moving it all the way to the top to take precedence over everything else.