Could not find Bengali language option in GNOME OS (Nightly)

Hello,
I am the coordinator of Bengali Translation team in Damned Lies. I have recently installed GNOME OS (Nightly) to see how the the translations look, but I couldn’t find the Bengali language in Language and Regions settings. Why is it not in the list and what can I do?
However, the Bengali language option is available under Language and Regions settings in latest fedora workstation edition I am currently using.

I did some research and it looks like you have to generate the locales on your operating system manually. (Not sure if this is the case for everyone, but for me I have the same issue where I only have ‘English’ available in GNOME settings.)

By what you said about Fedora workstation, it might be that certain distributions ship with certain locales generated on the system, but I am not sure.

The Arch Linux website has good articles on topics like these that are applicable to all Linux distributions (some steps may be different varying by your distro):

https://wiki.archlinux.org/title/Locale

I am not familiar with GNOME OS, but I think the steps will be similar as they are on Arch Linux:

You will need to upgrade to the root user (or sudo) and edit the /etc/locale.gen text file. It will look like this:

# Configuration file for locale-gen
#
# lists of locales that are to be generated by the locale-gen command.
#
# Each line is of the form:
#
#     <locale> <charset>
#
#  where <locale> is one of the locales given in /usr/share/i18n/locales
#  and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
#
#  The locale-gen command will generate all the locales,
#  placing them in /usr/lib/locale.
#
#  A list of supported locales is given in /usr/share/i18n/SUPPORTED
#  and is included in this file. Uncomment the needed locales below.
#
#aa_DJ.UTF-8 UTF-8  
#aa_DJ ISO-8859-1  
#aa_ER UTF-8  
#aa_ER@saaho UTF-8  
#aa_ET UTF-8  
#af_ZA.UTF-8 UTF-8  
#af_ZA ISO-8859-1
....

Every language defined in the ISO 639 standard is in this file, and most will be commented out. Just uncomment (remove the #) from the language you want, then save the file.

Next, use locale-gen to generate the new locales you uncommented:

# locale-gen

The output should look like the following:

Generating locales...
  de_DE.UTF-8... done
  de_DE.ISO-8859-1... done
  de_DE.ISO-8859-15@euro... done
  en_US.UTF-8... done
  en_US.ISO-8859-1... done
  es_MX.UTF-8... done
  es_MX.ISO-8859-1... done
Generation complete.

From here, you should be able to open GNOME Settings and see the new languages installed and available for use. GNOME Settings will let you know that you need to log out and log back in for the system to use the new locale. I hope this helps! :grin:

The locales for all available languages are generated in GNOME OS. Because GNOME OS is immutable, you cannot run locale-gen.

It is possible there is something missing in GNOME Settings. Because I can see bn, bn_BD and bn_IN in /usr/share/locale and in /usr/lib/locale. Also locale -a lists it.

Someone has to look into why GNOME Settings does not show the option. Because that seems like a bug.

You should try changing the language in /var/lib/AccountsService/users/<user>. See if that works for now.

2 Likes