How to Change the System Language in FunOS

FunOS uses English as its default system language, but you can install another language and configure it as the default. Changing the system language can translate supported applications, dialog boxes, system messages, date formats, and other parts of the desktop environment.

This guide explains how to install a language pack, generate the required locale, and change the system language in FunOS.

Understanding Languages and Locales

Before continuing, it is helpful to understand the difference between a language pack and a locale:

  • A language pack contains translated text for applications and system components.
  • A locale controls the language, character encoding, date format, number format, currency format, and similar regional settings.

For example:

id_ID.UTF-8

This locale consists of:

  • id — Indonesian language
  • ID — Indonesia
  • UTF-8 — Unicode character encoding

Another example is:

de_DE.UTF-8

This represents German as used in Germany.

Ubuntu provides separate language-pack packages for supported languages, including packages for translations used by GTK and GNOME-based applications. These packages are also available in the Ubuntu repositories used by FunOS.

Before You Begin

Make sure that:

  • FunOS is connected to the internet.
  • Your user account has administrator privileges.
  • You know the language code and locale you want to use.

Some commonly used language codes and locales are shown below:

LanguageLanguage codeExample locale
Arabicarar_SA.UTF-8
Chinese, Simplifiedzh-hanszh_CN.UTF-8
Chinese, Traditionalzh-hantzh_TW.UTF-8
Dutchnlnl_NL.UTF-8
Frenchfrfr_FR.UTF-8
Germandede_DE.UTF-8
Indonesianidid_ID.UTF-8
Italianitit_IT.UTF-8
Japanesejaja_JP.UTF-8
Koreankoko_KR.UTF-8
Polishplpl_PL.UTF-8
Portuguese, Brazilptpt_BR.UTF-8
Russianruru_RU.UTF-8
Spanisheses_ES.UTF-8
Turkishtrtr_TR.UTF-8

The language code used in a package name may occasionally differ from the first part of the locale. You can search the Ubuntu repositories when you are unsure which package is available.

How to Change the System Language in FunOS

The following example changes the system language to Indonesian using the id_ID.UTF-8 locale.

Replace id, id_ID.UTF-8, and the related values with the language you want to use.

Step 1: Open a Terminal

You can open a terminal in any of the following ways:

  1. Click the Menu button in the lower-left corner of the screen, then click Terminal.
  2. Click the Terminal icon in the Tray.
  3. Press Ctrl + Alt + T.

Step 2: Update the Package List

Run:

sudo apt update

The sudo command runs the following command with administrator privileges.

The apt update command downloads the latest package information from the configured software repositories. It does not install or upgrade packages.

Step 3: Install the Language Packs

Install the general language pack and the GTK/GNOME application language pack:

sudo apt install language-pack-id language-pack-gnome-id

In this command:

  • language-pack-id installs general Indonesian translations.
  • language-pack-gnome-id installs additional translations used by GTK and GNOME-related applications.

Although FunOS uses JWM instead of the GNOME desktop environment, many applications in the Ubuntu repositories use GTK or GNOME translation files. Installing both packages provides more complete language support.

For another language, replace id with the appropriate language code.

For example, to install German language support:

sudo apt install language-pack-de language-pack-gnome-de

To install Japanese language support:

sudo apt install language-pack-ja language-pack-gnome-ja

To install Spanish language support:

sudo apt install language-pack-es language-pack-gnome-es

Step 4: Configure the Available Locales

Run:

sudo dpkg-reconfigure locales

The dpkg-reconfigure command opens a text-based configuration interface for an already installed package. In this case, it reconfigures the locales package.

A list of available locales will appear.

Select the Locale

  1. Use the Up Arrow and Down Arrow keys to move through the list.
  2. Find the locale you want to use.

For Indonesian, select:

id_ID.UTF-8 UTF-8
  1. Press the Spacebar to select it.

An asterisk will appear beside the selected locale:

[*] id_ID.UTF-8 UTF-8

It is recommended to keep an English UTF-8 locale selected as a fallback. For example:

[*] en_US.UTF-8 UTF-8
  1. Press Tab to highlight <Ok>.
  2. Press Enter.

Choose the Default Locale

Another screen will ask you to select the default locale for the system environment.

Select:

id_ID.UTF-8

Then press Enter.

The selected locales will now be generated. The locale-generation process compiles the selected locale definitions so that they can be used by the system.

Step 5: Set the Default System Locale

Run:

sudo update-locale LANG=id_ID.UTF-8 LANGUAGE=id_ID:id:en_US

This command defines the default language environment.

The variables have the following purposes:

  • LANG=id_ID.UTF-8 sets the main system locale.
  • LANGUAGE=id_ID:id:en_US tells supported applications to use Indonesian first, and English as a fallback.

The update-locale command updates the system-wide locale configuration and checks whether the specified values are valid.

For German, for example, the command would be:

sudo update-locale LANG=de_DE.UTF-8 LANGUAGE=de_DE:de:en_US

For Japanese:

sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja:en_US

For Spanish:

sudo update-locale LANG=es_ES.UTF-8 LANGUAGE=es_ES:es:en_US

Step 6: Restart FunOS

Restart the computer to apply the new language settings completely:

sudo reboot

After logging in again, supported applications and system components should use the new language.

Verify the Current Language Settings

Open a terminal and run:

locale

The output should contain values similar to the following:

LANG=id_ID.UTF-8
LANGUAGE=id_ID:id:en_US
LC_MESSAGES=id_ID.UTF-8

You can also check only the main language variable:

echo "$LANG"

Expected output:

id_ID.UTF-8

To check the preferred application language order, run:

echo "$LANGUAGE"

Expected output:

id_ID:id:en_US

Using a Different Language and Regional Format

The interface language and regional format do not always need to be the same.

For example, you may want:

  • Application menus and messages in English.
  • Indonesian date, number, and currency formats.

To use English as the language while using Indonesian regional formats, run:

sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_TIME=id_ID.UTF-8 LC_NUMERIC=id_ID.UTF-8 LC_MONETARY=id_ID.UTF-8 LC_PAPER=id_ID.UTF-8 LC_MEASUREMENT=id_ID.UTF-8

The variables control different locale categories:

  • LC_TIME controls date and time formats.
  • LC_NUMERIC controls number formatting.
  • LC_MONETARY controls currency formatting.
  • LC_PAPER controls the default paper size.
  • LC_MEASUREMENT controls measurement units.

Restart FunOS for the changes to take effect.

Why Some Parts of FunOS May Remain in English

Changing the system language does not guarantee that every item on the desktop will be translated.

Some text may remain in English for the following reasons:

The Application Does Not Provide a Translation

Not every application is translated into every language. When a translation is unavailable, the application normally falls back to its original language, which is often English.

The Translation Is Incomplete

An application may have only partial translations. Some menus and dialog boxes may therefore appear in the selected language while others remain in English.

The Application Uses Its Own Language Setting

Some applications, especially web browsers and large cross-platform programs, provide their own language settings. You may need to change the language from inside the application.

Some FunOS Menu Entries Are Defined Separately

FunOS uses JWM as its window manager. Some menu labels and system commands are defined in JWM or FunOS configuration files rather than being provided directly by an application.

As a result, labels such as certain system categories, FunOS utilities, or custom menu entries may remain in English even when application names and descriptions are translated.

This does not mean that the locale configuration failed.

Changing the Language of the JWM Menu, Tray, and Log Out Menu

The steps in this article change the system language used by supported applications and system components. However, they do not automatically translate all text displayed by JWM.

The following interface elements may continue to appear in English:

  • Categories and custom entries in the JWM application menu
  • Labels and tooltips in the JWM Tray
  • Options in the Log Out menu

These items are controlled by separate JWM and FunOS configuration files. Changing them requires editing the relevant menu, tray, and logout-menu configuration.

A separate guide will explain how to change the displayed language of the JWM menu, Tray, and Log Out menu in FunOS.

Troubleshooting

An Application Is Still in English

Close the application completely and open it again.

If it remains in English:

  1. Check whether the application has its own language settings.
  2. Confirm that its translation package is installed.
  3. Check whether the application supports the selected language.
  4. Log out and log in again, or restart FunOS.

How to Change the System Language Back to English

The following steps restore American English as the default language.

Step 1: Generate the English Locale

Run:

sudo locale-gen en_US.UTF-8

Step 2: Set English as the Default System Locale

Run:

sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en

Step 3: Restart FunOS

Run:

sudo reboot

FunOS should use English again after you log in.

Optional: Remove an Installed Language Pack

Changing back to English does not require removing the other language pack. Keeping it installed allows you to switch languages again later.

To remove it, run:

sudo apt remove language-pack-id language-pack-gnome-id

Replace id with the appropriate language code.

After removing the packages, remove dependencies that are no longer required:

sudo apt autoremove

Be careful when reviewing the list of packages that apt autoremove proposes to remove. Continue only when the listed packages are no longer needed.

Conclusion

Changing the system language in FunOS involves installing the appropriate language packs, generating the required locale, and setting it as the default..

After restarting FunOS, applications that provide translations should use the selected language. Some JWM menu labels, custom FunOS entries, or applications without complete translation support may continue to appear in English.

You can confirm the active configuration at any time by running:

locale

Leave a Reply

Your email address will not be published. Required fields are marked *