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 languageID— IndonesiaUTF-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:
| Language | Language code | Example locale |
|---|---|---|
| Arabic | ar | ar_SA.UTF-8 |
| Chinese, Simplified | zh-hans | zh_CN.UTF-8 |
| Chinese, Traditional | zh-hant | zh_TW.UTF-8 |
| Dutch | nl | nl_NL.UTF-8 |
| French | fr | fr_FR.UTF-8 |
| German | de | de_DE.UTF-8 |
| Indonesian | id | id_ID.UTF-8 |
| Italian | it | it_IT.UTF-8 |
| Japanese | ja | ja_JP.UTF-8 |
| Korean | ko | ko_KR.UTF-8 |
| Polish | pl | pl_PL.UTF-8 |
| Portuguese, Brazil | pt | pt_BR.UTF-8 |
| Russian | ru | ru_RU.UTF-8 |
| Spanish | es | es_ES.UTF-8 |
| Turkish | tr | tr_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:
- Click the Menu button in the lower-left corner of the screen, then click Terminal.
- Click the Terminal icon in the Tray.
- 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-idinstalls general Indonesian translations.language-pack-gnome-idinstalls 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
- Use the Up Arrow and Down Arrow keys to move through the list.
- Find the locale you want to use.
For Indonesian, select:
id_ID.UTF-8 UTF-8
- 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
- Press Tab to highlight
<Ok>. - 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-8sets the main system locale.LANGUAGE=id_ID:id:en_UStells 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_TIMEcontrols date and time formats.LC_NUMERICcontrols number formatting.LC_MONETARYcontrols currency formatting.LC_PAPERcontrols the default paper size.LC_MEASUREMENTcontrols 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:
- Check whether the application has its own language settings.
- Confirm that its translation package is installed.
- Check whether the application supports the selected language.
- 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