Internationalization

From ArchWiki
(Redirected from I18n)
Jump to: navigation, search

Tango-go-next.pngThis article or section is a candidate for moving to Localization.Tango-go-next.png

Notes: "Internationalization" is more connotated with development. Category would also need to be renamed for consistency. (Discuss in Talk:Internationalization#)

This is the main article on internationalization (often also referred to as i18n). 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:

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

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

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#)

From Fedora:I18N/InputMethods:

An input method (IM) is a way to input a certain set of characters and symbols, usually because a keyboard does not directly support them.

Most input methods are part of an IM framework, which lets the user easily switch between multiple input methods. These input methods are either included with the framework or packaged separately. Programs implementing input methods are called IM engines. The input methods available for a language are listed in the respective language subpage.

The available IM frameworks are:

  • Dasom — Multilingual input method framework.
https://dasom-im.github.io/ || dasom-gitAUR
  • Fcitx — Input method framework with extension support.
https://fcitx-im.org/ || fcitx
  • gcin — Input method server supporting various input methods.
http://hyperrate.com/dir.php?eid=67 || gcin
  • Hime — Universal input method platform.
https://hime-ime.github.io/ || hime-gitAUR
  • IBus — Intelligent Input Bus, a next generation input framework.
https://github.com/ibus/ibus/wiki || ibus
  • SCIM — The Smart Common Input Method platform.
https://github.com/scim-im/scim || scim
  • uim — Multilingual input method framework to provide simple, easily extensible and high code-quality input method development platform, and useful input method environment for users of desktop and embedded platforms.
https://github.com/uim/uim || uim

See also Wikipedia:List of input methods for Unix platforms.

Input method engines

Language Back-end Fcitx IBus SCIM uim gcin Hime
Vietnamese UniKey fcitx-unikey ibus-unikey scim-unikey - - -
Others m17n-lib fcitx-m17n ibus-m17n scim-m17n depends  ?  ?

GTK IM-module

  • SCIM with the socket FrontEnd module binds to the GTK Im-Module
  • uim
  • 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
  • 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