Lokalizace Gentoo Linuxu Alexander Holler Steven Lucy Benny Chuang Lars Weiler Tobias Scherbaum Flammie Pirinen Jan Kundrát Tato příručka by měla pomoci uživatelům lokalizovat jejich systém Gentoo do jakýchkoli evropských podmínek, včetně použití měnového symbolu Euro. Český překlad se zabývá českým nastavením. 1.14 2005-05-09 Časové pásmo

Aby pracovala indikace času správně, musí /etc/localtime odkazovat na správný soubor s informacemi o časové zóně. Najděte si v adresáři /usr/share/zoneinfo/ nějaké velké město ležící blízko Vás.

# ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime
# date
Sun Feb 16 08:26:44 CET 2003
Ujistěte se, že třípísmenná zkratka časové zóny (v tomto případě "CET") odpovídá Vaší oblasti. V Česku je to CET, případně CEST v době letního času. V rc souboru svého oblíbeného shellu (pro bash .bash_profile) můžete nastavit hodnotu TZ na cokoliv po /usr/share/zoneinfo; dosáhnete tím nastavení časové zóny pro konkrétního uživatele. V tomto případě byste měli použít TZ="Europe/Prague".
Systémové hodiny

Na většině instalací systému Gentoo jsou systémové hodiny nastaveny na čas UTC (případně GMT, Greenwich Mean Time), a při určování správného místního času času se berou do úvahy informace o časové zóně. Pokud z nějakého důvodu potřebujete, aby systémový čas nebyl v UTC, musíte v souboru /etc/rc.conf změnit proměnnou CLOCK.

(doporučeno:)
CLOCK="UTC"
(nebo:)
CLOCK="local"
Lokalizační nastavení
Co to je?

Lokalizační nastavení (locales) jsou informace, kterými se řídí většina programů při rozhodování o nastaveních závislých na zemi nebo jazyku. Jsou součástí systémových knihoven a na většině systémů jsou uloženy v adresáři /usr/share/locale. Jejich jména jsou většinou pojmenovány ab_CD, kde ab je dvoupísmenný (někdy třípísmenný) kód jazyka (viz norma ISO-639) a CD dvoupísmenný kód země dle ISO-3199.

Proměnné prostředí pro místní nastavení

Lokalizační nastavení jsou nastavovány pomocí proměnných prostředí, typicky v souboru /etc/env.d/02locale (nastavení pro celý systém) a ~/.bashrc (nastavení specifická pro konkrétního uživatele). Následující tabulce podává přehled proměnných ovlivňujících všechna možná nastavení; proměnné s největší prioritou (tj. ty, které potlačí nastavení jiných proměnných) jsou na začátku. Všechny proměnné akceptují výše popsaný zápis ab_CD.

LC_ALL Určuje všechna lokalizační nastavení najednou. Tato proměnná je na nejvyšší úrovni, její zadání potlačí jiná nastavení. LC_COLLATE Určuje pořadí znaků v abecedě; ovlivní například setřídění výpisu adresáře. LC_CTYPE Určuje vlastnosti zacházení se znaky, například které znaky jsou součástí abecedy, co jsou čísla a tak dále. Rovněž může nastavit znakovou stránku. LC_MESSAGES Lokalizace programů používajících lokalizaci zpráv (většina GNU programů, viz další kapitola, kde naleznete informace i o programech, které se tímto řídí, a poradíme Vám, jak si poradit s ostatními). LC_MONETARYUrčuje jednotky měny a formátování finančních částek.LC_NUMERIC Určuje formátování číselných hodnot nesouvisejících s měnou. Ovlivní věci jako oddělovače tisíců a desetinnou čárku. LC_TIMEUrčuje formátování dat a časových údajů.LC_PAPERUrčuje výchozí velikost papíru.LANG Určuje všechna lokalizační nastavení najednou. Může být potlačeno individuálními nastaveními LC_* nebo přes LC_ALL.
Jméno proměnné Vysvětlení

Většina uživatelů nastavuje pouze proměnné LANG a LC_CTYPE na uživatelské úrovni pomocí přidání jejich definice do souborů, které shell zpracovává při startu:

export LANG="cs_CZ"
Přidejte @euro, chce-li používat měnový symbol Eura (€).

Aby pracovaly lokalizace zpráv v programech, které je podporují, pravděpodobně je budete muset instalovat s nastavenou USE proměnnou nls (Native language support). Většina programů používajících nls také potřebuje knihovnu gettext pro zpracovávání zpráv; pokud bude potřeba, Portage ji samozřejmě nainstaluje.

Vytvoření konkrétních locales

Chcete-li používat místní nastavení (locale), které ve výchozím nastavení není v systému přítomno, použijte příkaz localedef, například takto:

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

Až příslušné lokalizační nastavení vytvoříte, můžete exportovat odpovídající nastavení proměnné LANG.

# export LANG="en_US.ISO-8859-15"
USE proměnná userlocales

Je pravděpodobné, že ve svém systému budete používat pouze jedno nebo dvě lokalizační nastavení. Až do teď vytvářela glibc při své kompilaci všechna možná nastavení, nyní však můžete aktivovat USE proměnnou userlocales a ručně určit, jaká nastavení budou potřeba, v souboru /etc/locales.build.

echo "sys-libs/glibc userlocales" >> /etc/portage/package.use

Nyní určete, jaká lokalizační nastavení chcete mít k dispozici:

en_US/ISO-8859-1
en_US.UTF-8/UTF-8
cs_CZ/ISO-8859-2
cs_CZ.UTF-8/UTF-8

Dalším krokem je rekompilace glibc; samozřejmě to můžete odložit až do jejího upgradu.

Rozvržení klávesnice v konzoli

Rozvržení klávesnice v koznoli je určeno proměnnou KEYMAP v souboru /etc/rc.conf. Platné hodnoty mohou být nalezeny v /usr/share/keymaps/{arch}/. i386 se dále dělí na pododdíly podle rozvržení (qwerty/, azerty/, atd.). Některé jazyky mají více možností, takže možná budete chtít vyzkoušet, které nejvíce vyhovuje Vašim potřebám.

KEYMAP="de"
KEYMAP="de-latin1"
KEYMAP="de-latin1-nodeadkeys"
Rozvržení klávesnice pod X serverem

Rozvržení klávesnice pro X server je určeno v souboru /etc/X11/xorg.conf pomocí volby XkbLayout.

 Section "InputDevice"
     Identifier  "Keyboard1"
     ...
     Option "XkbLayout"    "cz_qwerty"
     # Option "XkbVariant"  "nodeadkeys"
     ...
KDE

Pro KDE je potřeba nainstalovat balíček kde-i18n s patřičně nastavenou proměnnou LINGUAS:

# LINGUAS="cs" emerge kde-i18n
Symbol Euro v konzoli

Aby konzole zobrazovala symbol Euro, musíte nastavit CONSOLEFONT v souboru /etc/rc.conf na soubor z adresáře /usr/share/consolefonts/ (bez přípony .psfu.gz). lat9w-16 obsahuje symbol Eura.

CONSOLEFONT="lat9w-16"
Symbol Eura v X
Většina aplikací

Zprovoznění symbolu Eura pod X je trochu obtížnější. První věc, kterou byste měli podniknout, je změna definic fixed a variable v souboru /usr/X11R6/lib/X11/fonts/misc/fonts.alias, aby končily na iso8859-15 místo iso8859-1.

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

Některé aplikace používají svůj vlastní font, a proto jim budete muset říct, aby používaly font se symbolem Eura. Na uživatelské bázi tak můžete učinit v .Xdefaults (můžete jej i zkopírovat do /etc/skel/ pro nové uživatele), pro celý systém potom pro jakoukoli aplikaci se souborem zdrojů (resource file) v /usr/X11R6/lib/X11/app-defaults/ (například xterm). V těchto souborech je obecně potřeba změnit již existující řádek, není třeba přidávat nový. Kupříkladu pro změnu fontu v xtermu:

(in your home directory)
# echo 'XTerm*font: fixed' >> .Xresources 
# xrdb -merge .Xresources
Symbol Euro v (X)Emacs

Pro použití symbolu Eura v (X)Emacsu přidejte do .Xdefaults tento řádek:

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

Pro XEmacs (ne "obyčejný" Emacs) je potřeba o trochu více úsilí. Do /home/user/.xemacs/init.el přidejte:

(define-key global-map '(EuroSign) '[€])
Symbol uvnitř hranatých závorek [] je znak pro Euro.
Jazyk OpenOffice Změna jazyka není k dispozici pro ebuild openoffice-bin; používáte-li jej, je výchozí jazyk ENUS (americká angličtina).

Povšimněte si prosím, že OpenOffice nyní k lokalizaci používá proměnnou prostředí LINGUAS. Stará metoda s LANGUAGE=ENUS|PORT už nefunguje. Výchozí jazyk pro OpenOffice je americká angličtina; chcete-li jej změnit, podívejte se do ebuildu na výchozí jazykový kód.

# LINGUAS="cs" emerge openoffice