Gentoo Logo
Gentoo Logo Side

Gentoo Linux Localization Guide


1. Timezone

In order to keep time properly, /etc/localtime must point to the correct time zone data file. Look around in /usr/share/zoneinfo/ and pick your timezone or a near-by big city.

Code Listing 1.1: setting the timezone

# ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# date
Sun Feb 16 08:26:44 CET 2003

Note: Make sure that the three-letter timezone indicator (in this case "CET") is correct for your area.

Note: You can set the value of TZ to be everything after the /usr/share/zoneinfo in your shell rc file (.bash_profile for bash) for a user-level setting. In this case TZ="Europe/Berlin".

2. System Clock

In most Gentoo Linux installations, your system clock is set to UTC (or GMT, Greenwhich Mean Time) and then your timezone is taken into account to determine the actual, local time. If, for some reason, you need your system clock not to be in UTC, you will need to edit /etc/rc.conf and change the value of CLOCK.

Code Listing 2.1: local vs. GMT clock

// recommended:
// or:

3. POSIX Locale

Using Existing Locales 

The next step is to set the LANG shell variable, which is used by your shell and window manager (and some other applications). Valid values can be found in /usr/share/locale and generally take the form ab_CD, where ab is your two letter language code and CD is your two letter country code. The _CD is left off if your language is only (or primarily) spoken in one country. LANG can be set in /etc/profile if you want it to take effect system-wide, or in ~/.bashrc as a user-specific setting.

Code Listing 3.1: setting the POSIX locale

export LANG="[email protected]"

Note: Appended @euro to your locale if you want to use the new Euro currency symbol (€)

Generating Specific Locales 

If you use a locale that isn't available by default, you should use localedef to generate your locale. For instance:

Code Listing 3.2: Generating a locale using localedef

# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15

After having generated the locale, you can export the LANG variable as you see fit.

Code Listing 3.3: Exporting the LANG variable

# export LANG="en_US.ISO-8859-15"

4. Keyboard layout for the console

The keyboard layout used by the console is set in /etc/rc.conf by the KEYMAP variable. Valid values can be found in /usr/share/keymaps/{arch}/. i386 has further subdivisions into layout (qwerty/, azerty/, etc.). Some languages have multiple options, so you may wish to experiment to decide which one fits your needs best.

Code Listing 4.1: setting the console keymap


5. Keyboard layout for the X server

The keyboard layout to be used by the X server is specified in /etc/X11/XF86Config by the XkbLayout option.

Code Listing 5.1: setting the X keymap

 Section "InputDevice"
     Identifier  "Keyboard1"
     Option "XkbLayout"    "de"
     # Option "XkbVariant"  "nodeadkeys"

6. KDE

For KDE you have to install the kde-i18n package with the appropriate LINGUAS environment variable set:

Code Listing 6.1: Install localized KDE

# LINGUAS="de" emerge kde-i18n

7. The Euro Symbol for the Console

In order to get your console to display the Euro symbol, you will need to set CONSOLEFONT in /etc/rc.conf to a file found in /usr/share/consolefonts/ (without the .psfu.gz). lat9w-16 has the Euro symbol.

Code Listing 7.1: setting the console font


8. The Euro Symbol in X

Most Applications 

Getting the Euro symbol to work properly in X is a little bit tougher. The first thing you should do is change the fixed and variable definitions in /usr/X11R6/lib/X11/fonts/misc/fonts.alias to end in iso8859-15 instead of iso8859-1.

Code Listing 8.1: setting default X fonts

fixed        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable     -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15

Some applications use their own font, and you will have to tell them separately to use a font with the Euro symbol. You can do this at a user-specific level in .Xdefaults (you can copy this file to /etc/skel/ for use by new users), or at a global level for any application with a resource file in /usr/X11R6/lib/X11/app-defaults/ (like xterm). In these files you generally have to change an existing line, rather than adding a new one. To change our xterm font, for instance:

Code Listing 8.2: setting fonts for xterm

// (in your home directory)
# echo 'XTerm*font: fixed' >> .Xresources 
# xrdb -merge .Xresources

The Euro symbol in (X)Emacs 

To use the Euro symbol in (X)Emacs, add the following to .Xdefaults:

Code Listing 8.3: setting the font for emacs

Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15

For XEmacs (not plain Emacs), you have to do a little more. In /home/user/.xemacs/init.el, add:

Code Listing 8.4: setting the font for xemacs

(define-key global-map '(EuroSign) '[€])

Note: The symbol in the []s is the Euro symbol.

Language for OpenOffice 

Note: Customized default language is not available for openoffice-bin ebuild. The default language in the openoffice-bin is ENUS.

The default language for OpenOffice is set as "ENUS"(01). If you wish to change the default language for OpenOffice, check the ebuild for the default language code.

Code Listing 8.5: emerge openoffice with desired default language

# LANGUAGE="01" emerge openoffice
01 is the ENUS language code for openoffice

Updated April 11, 2004
Alexander Holler

Steven Lucy

Benny Chuang

Lars Weiler

Summary:  This guide should help users localize their Gentoo Linux distribution to any European locale. It uses Germany as a case-study, since it is translated from the German doc. Includes configuration for use of the Euro currency symbol.
The Gentoo Linux Store
Copyright 2001-2004 Gentoo Foundation, Inc. Questions, Comments, Corrections? Email [email protected].