# Internationalization

This is the main article on the internationalization of an Arch Linux installation. It is meant to offer guidance, as well as crosslink other relevant articles, to customize settings of an Arch Linux installation to work with any supported language.

The article makes use of subpages for instructions specific for languages:

  Internationalization/Indic | Internationalization/Japanese | Internationalization/Korean
  Internationalization/Korean (한국어)

## Fonts

For the list of available font packages in Arch Linux see the Fonts article.

## Locale

See Locale.

## Keyboard layouts

See Keyboard configuration in console and Keyboard configuration in Xorg.

## Input methods in Xorg

This article or section needs expansion.

Reason: A brief introduction of input methods should be added, similar to Internationalization/Korean#Input_in_Xorg. (Discuss in Talk:Internationalization#)

This article or section needs language, wiki syntax or style improvements.

Reason: Does the subsection structure still fit and is appropriate for the main article? Can you help with integrating the comments referred to in ArchWiki:Requests#Input_methods to improve the article? (Discuss in Talk:Internationalization#)

- gcin
- fcitx
- SCIM with the x11 FrontEnd module
- uim (Japanese)
- IBus
- Dasom
- Nimf

### GTK immodule

- scim with the socket FrontEnd module binds to the GTK Im-Module
- uim (Japanese)
- fcitx

#### Disabling GTK IM modules (without uninstalling)

First some background information on how GTK loads and selects IM modules:

- Specifying an IM module

1. GTK_IM_MODULE environment variable
   1. GTK_IM_MODULE="scim" gedit
2. XSETTINGS value of Gtk/IMModule

- File listing possible IM modules

1. GTK_IM_MODULE_FILE environment variable
2. RC files
3. /etc/gtk-2.0/gtk.immodules

If no IM module is specified (either via GTK_IM_MODULE or in XSETTINGS), then GTK will automatically choose a suitable immodule from an internal listing (GTK_IM_MODULE_FILE... etc). This chosen IM module will depend on the software installed, and will be picked in a completely arbirtrary order.

For a listing of installed GTK+ immodules, see

- "/usr/lib/gtk-2.0/modules/"
- "/usr/lib/gtk-2.0/2.10.0/immodules/"

XSETTINGS provides a common API to configure common desktop settings. Similar database configuration systems such as gnome-config, GConf, liproplist and the kde configuration system already exist, however XSETTINGS unifies these systems. XSETTINGS daemons, such as gnome-settings-daemon from gnome, xfce-mcs-manager from xfce4, and other from openbox, etc, push desktop-environment-specific data to the XSETTINGS database. Technically, XSETTINGS is a simple storage medium intended to store only strings, integers and colors. When an XSETTINGS manager quits, the clients restore all settings to their default values.

The if GTK+ has debugging enabled, the loaded modules can be seen by

      application --gtk-debug modules

Otherwise, the modules can be seen by scanning the linked libraries in gdb after attaching to the process.

To prevent GTK+ from loading any IM modules

- set GTK_IM_MODULE to the empty string
- set GTK_IM_MODULE to "gtk-im-context-simple"

### QT immodule (> QT 4.0.0)

- scim with the socket FrontEnd module binds to the QT Im-Module
- uim (Japanese)
- fcitx

#### Disabling QT IM modules (without uninstalling)

QT will load the IM module specified in QT_IM_MODULE, and if unset attempt to fall back on XIM.

1. QT_IM_MODULE environment variable
2. XIM

To disable input method module loading in QT, export QT_IM_MODULE="simple".

## See also

- Free Standards Group OpenI18N
- XSETTINGS 0.5 Specification
- Running and Debugging GTK+ Applications

Category:

- Internationalization

Hidden categories:

- Pages or sections flagged with Template:Expansion
- Pages or sections flagged with Template:Style