# Language Support Help

If you look for specific context help, you may want to go directly to the Language Support section of this document.

## Introduction

While English is the original language, Ubuntu has been translated to a large number of languages, and the translations are updated continuously by the community of translation teams around the world. As a result, most Ubuntu users can have menus and windows be displayed in their language of choice.

However, messages are not always displayed in the preferred language, since not all messages have been translated into all the available languages at each point of time.

### Language priority list

Ubuntu uses the GNU gettext technology to deal with languages and related matters. One GNU specific feature is the language priority list, which lets you set more than one language in your order of preference. As an example, this is what the list of a German user might look like:

- German

- Spanish (Spain)

- English

If there is no German translation of a message, GNU compatible applications will try Spanish, and if no Spanish translation of the message is available either, it will be displayed in English.

English is always the last item in the list. Thus setting fallback language(s) makes a difference if:

1. a non-English language is your first choice,

2. the translations into that language are not complete, and

3. you prefer one or more non-English fallback languages.

### Non-GNU applications

Some applications, especially non-GNU applications such as Mozilla Firefox, do not honor the priority list feature. Hence a message will be displayed in the first choice language, if a translation into that language is available, or else it will simply be displayed in English.

## Language Support

The desired display language(s) and related settings can be set from Language Support. To open the tool, click the system menu and select System Settings... -> Language Support.

There are both system wide and user specific settings. The controls for system wide settings are the Apply system-wide buttons and the Install / Remove Languages... button, and to make system wide changes you need to enter a password for a user with admin privileges.

The Language Support window includes two tabs: Language and Regional Formats.

### Language

The box Language for menus and windows contains items representing the translations that are available on the system. The current language priority list consists of the first items with black characters. Below, displayed in grey, are the other available translations. To add a translation to the language list, you pick a greyed item, drag it upwards, and drop it at a position above the English item.

By clicking the Apply system-wide button, the system language list is set to the same items as your own current list. The system language setting controls the display language at startup and on the login screen.

The button Install / Remove Languages... opens the Installed Languages window with a list of all the languages that can be downloaded and installed on the system. Currently installed languages are the checked items in the list. To install a new language, you check it in the list and click the Apply Changes button. That will download and install both the language's translations and other related components if any.

To type certain languages, a more complex input method than just a simple key to character mapping is required. Through the Keyboard input method system drop-down list you can set a framework for input methods which will be started automatically at login. Recommended input method frameworks are IBus and Fcitx. The latter is the default framework in Ubuntu for Chinese, Japanese, Korean and Vietnamese. If you want to use alternative systems, install the corresponding packages first and then choose the desired system from the drop-down list.

### Regional formats

Typically there are country or region based conventions for how numbers, date and time, currency, etc. are denoted, and each item in the drop-down list at the top of the Regional Formats tab represents a set of format rules. If you change the setting, examples of what the new setting results in are instantly shown at the bottom of the tab.

By clicking the Apply system-wide button, the system value is set out from your own current setting. The system format setting controls the display formats at startup and on the login screen. It also serves as a default value for users who have not set a user format setting.

## Alternative language settings

Unlike the Language tab in Language Support, the below language controls do not let you compose a complete priority list. Instead the one language you select is prepended to the previous list.

### Login screen

One of the LightDM compatible login greeters, lightdm-gtk-greeter, provides an alternative control for setting the own user language.

To get a language chooser on the login screen, please install the package lightdm-gtk-greeter if it's not installed already.

### User Accounts

To access the User Accounts tool, you click the icon at the very right of the top bar and select System Settings... -> User Accounts. It provides an alternative control for setting the own user language, and lets users with access to administer the system set the initial language at the creation of a new user account.

## Advanced format settings

The Language Support method for setting regional formats assumes that one language-country combination (locale) is sufficient to set all the format aspects in accordance with your preferences. Even if that is often the case, situations when you want more fine tuned format settings may occur. For such a case, below are some variables that you may want to assign locale names individually. You can do so by editing the `.profile` configuration file in your home folder.

`LC_NUMERIC`

- How you format your numbers. For example, in many countries a point is used as a decimal separator, while others use a comma.

`LC_TIME`

- How your time and date are formatted.

`LC_MONETARY`

- What currency you use, its name, and its symbol.

Click here for more `LC_*` variables with explanations.

An example

Take a user in the US who choose English (United States) in the drop-down list on the Regional Formats tab. If s/he prefers that dates and times are displayed more like what ISO 8601 prescribes than what's typically the case in the US, the below line may be added to the `.profile` file:

`export LC_TIME="en_DK.UTF-8"`