Aby pracovala indikace času správně, musíte nastavit časovou zónu, ve které pracujete. Seznam dostupných časových pásem je v adresáři /usr/share/zoneinfo, nastavení se provádí v souboru /etc/conf.d/clock. Nepoužívejte prosím soubory /usr/share/zoneinfo/Etc/GMT*, protože jejich jména nevystihují jejich obsah — například GMT-8 je ve skutečnosti GMT+8.
Výpis kódu 1.1: Nastavení časové zóny |
# ls /usr/share/zoneinfo (buďme Pražáci) # nano -w /etc/conf.d/clock TIMEZONE="Europe/Prague" # date Wed Mar 8 00:46:05 CET 2006 |
Poznámka: Ujistěte se, že 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. |
Poznámka: 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". |
Na většině instalací systému Gentoo jsou hardwarové hodiny nastaveny na čas UTC (případně GMT, Greenwich Mean Time), a při určování správného místního času se berou do úvahy informace o časové zóně. Pokud z nějakého důvodu potřebujete, aby čas hardwarových hodin nebyl v UTC, musíte v souboru /etc/conf.d/clock změnit hodnotu proměnné CLOCK z UTC na local.
Výpis kódu 2.1: Místní čas vs. GMT |
(doporučeno:) CLOCK="UTC" (nebo:) CLOCK="local" |
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-3166.
Proměnné prostředí pro místní nastavení
Lokalizační nastavení jsou nastavována 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í tabulka 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.
| Jméno proměnné | Vysvětlení |
| 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_MONETARY | Urč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_TIME | Určuje formátování dat a časových údajů. |
| LC_PAPER | Urč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. |
Poznámka: Ačkoli většině programů stačí pouze nastavení LC_ALL, některé mohou pracovat chybně, pokud je nastaveno pouze LC_ALL a ne LANG. Chcete-li absolutní jistotu, nastavte obě. |
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:
Výpis kódu 3.1: Nastavení českých lokalizačních nastavení (soubor ~/.bashrc) |
export LANG="cs_CZ" |
Poznámka: Přidejte @euro, chce-li používat měnový symbol Eura (€). |
Nastavení můžete také změnit pro všechny uživatele a programy:
Výpis kódu 3.2: Nastavení výchozích lokalizačních nastavení v /etc/env.d/02locale |
LC_ALL="cs_CZ" LANG="cs_CZ" |
Běžný postup je používat nastavení pro jednotlivé uživatele a ponechat výchozí systémové nastavení nezměněné. V takovém případě platí speciální lokalizační nastavení, "C", které je z historických důvodů v angličtině.
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.
Máte-li nastaveny správné locale, aktualizujte proměnné prostředí, aby systém na změny zareagoval:
Výpis kódu 3.3: Aktualizace prostředí |
(Pro změnu nastavení celého systému:) # env-update && source /etc/profile (Nastavení pro jednotlivé uživatele:) $ source ~/.bashrc |
Nyní musíte stiskem Ctrl-Alt-Backspace restartovat X server, odhlásit se a znovu se přihlásit.
Poté můžete ověřit, zda skutečně došlo ke změnám:
Výpis kódu 3.4: Ověření změn prostředí |
$ env | grep -i LC_
|
Další lokalizační proměnnou je LINGUAS, která říká, jaké jazykové verze se mají použít pro programy používající knihovnu gettext a některé další balíčky, jako například kde-base/kde-i18n a app-office/openoffice. Její obsah je mezerami oddělený seznam jazykových kódů a doporučené místo, kam ji umístit, je soubor /etc/make.conf:
Výpis kódu 3.5: Nastavení LINGUAS v make.conf |
# nano -w /etc/make.conf (Přidejte proměnnou LINGUAS. Kupříkladu pro češtinu, angličtinu a němčinu:) LINGUAS="cs en de" |
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:
Výpis kódu 3.6: Vytvoření locale pomocí localedef |
# 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.
Výpis kódu 3.7: Export proměnné LANG |
# export LANG="en_US.ISO-8859-15"
|
Opět musíte aktualizovat prostředí:
Výpis kódu 3.8: Aktualizace prostředí |
# env-update && source /etc/profile
|
Nyní pomocí Ctrl-Alt-Backspace restartujte X server, odhlaste se a přihlaste se jako normální uživatel.
Je pravděpodobné, že ve svém systému budete používat pouze jedno nebo dvě lokalizační nastavení. Potřebná locales se zadávají do souboru /etc/locale.gen.
Výpis kódu 3.9: Přidání locales do /etc/locale.gen |
en_GB ISO-8859-1 en_GB.UTF-8 UTF-8 cs_CZ ISO-8859-2 cs_CZ.UTF-8 UTF-8 |
Dalším krokem je spuštění skriptu locale-gen, který se postará o vygenerování locales podle nastavení z /etc/locale.gen.
Poznámka: locale-gen je obsažena v balíčku glibc-2.3.6-r4 a novějších. Pokud používáte starší verzi, může být nyní vhodná doba pro jeho aktualizaci. |
Ověřit, zda budou zvolená lokalizační nastavení opravdu k dispozici, můžete nejsnadněji pomocí příkazu locale -a.
4. Rozvržení klávesnice v konzoli
Rozvržení klávesnice v konzoli je určeno proměnnou KEYMAP v souboru /etc/conf.d/keymaps. 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.
Výpis kódu 4.1: Nastavení klávesové mapy konzole |
KEYMAP="de" KEYMAP="de-latin1" KEYMAP="de-latin1-nodeadkeys" |
5. 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.
Výpis kódu 5.1: Nastavení klávesové mapy pro X |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "cz_qwerty"
Option "XkbModel" "pc105" ## vhodné pro mezinárodní klávesnice
# Option "XkbVariant" "nodeadkeys" ## může se hodit pro xterm
...
|
Pokud používáte mezinárodní klávesnici (píšete-li česky, používáte ji), měli byste nastavit XkbModel na pc102 nebo pc105, což povolí mapování dalších kláves.
Mrtvé klávesy (deadkeys) jsou takové klávesy, po jejichž stlačení se ihned neobjeví žádný znak, avšak jejich stisk ovlivní význam další klávesy, která vytvoří znak typu é, è, á, à atd. Nastavení volby XkbVariant na hodnotu nodeadkeys způsobí, že se stisky těchto kláves odešlou rovnou.
Pokud chcete přepínat mezi více rozvrženími klávesnice, například českým a anglickým, potřebujete pouze přidat několik řádek do xorg.conf:
Výpis kódu 5.2: Přepínání mezi dvěma rozvrženími klávesnice |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "us,cz_qwerty"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
|
Volba XkbOptions aktivuje přepínání mezi jednotlivými rozvrženími pomocí stisku Alt-Shift. Navíc bude LED Scroll Lock díky volbě grp_led:scroll indikovat právě zvolené rozvržení pro lepší přehled.
Pro KDE je potřeba nainstalovat balíček kde-base/kde-i18n, který se řídí dříve popsanou proměnnou LINGUAS.
Aby konzole zobrazovala symbol Euro, musíte nastavit CONSOLEFONT v souboru /etc/conf.d/consolefont na soubor z adresáře /usr/share/consolefonts/ (bez přípony .psfu.gz). lat9w-16 obsahuje symbol Eura.
Výpis kódu 7.1: Nastavení konzolového fontu |
CONSOLEFONT="lat9w-16" |
Ověřte, zda je CONSOLEFONT ve správném runlevelu:
Výpis kódu 7.2: Ověření runlevelu |
# rc-update show | grep -i consolefont
|
Pokud se pro CONSOLEFONT nezobrazí žádný runlevel, budete jej muset přidat:
Výpis kódu 7.3: Přidání consolefont do runlevelu boot |
# rc-update add consolefont boot
|
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/share/fonts/misc/fonts.alias, aby končily na iso8859-15 místo iso8859-1.
Výpis kódu 8.1: Změna výchozích fontů pod X |
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/share/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:
Výpis kódu 8.2: Nastavení fontu xterm |
(in your home directory) $ echo 'XTerm*font: fixed' >> .Xresources $ xrdb -merge .Xresources |
Pro použití symbolu Eura v (X)Emacsu přidejte do .Xdefaults tento řádek:
Výpis kódu 8.3: Nastavení fontu pro Emacs |
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:
Výpis kódu 8.4: Nastavení fontu v XEmacs |
(define-key global-map '(EuroSign) '[€]) |
Poznámka: Symbol uvnitř hranatých závorek [] je znak pro Euro. |
SOučasné stabilní verze balíčků app-office/openoffice a app-office/openoffice-bin umožnují volbu jazyka uživatelského rozhraní pomocí proměnné LINGUAS. Pro přehled stavu lokalizace grafického rozhraní, kontroly pravopisu a dalších lokalizací pro váš jazyk viz lokalizační web OpenOffice.org (anglicky).