LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana

##
# Autor: Jindřich Plešinger a Vilém Buchtík
#

### locale ###
# Základní postup jak nastavit češtinu ve Slackware Linuxu.

Lokalizace je nastavení systému na národní prostředí. Česká lokalizace je nastavení systému, tak aby programy mluvily na uživatele česky, používali českou mapu znaků a české fonty. Pro sestavení tohoto krátkého manuálu jsem použil Czech-HOWTO a svých zkušeností.

###
# 1. Nastavení locale

Locale způsobí to, že programy, které jsou psány s podporou glibc-i18n, budou s uživatelem komunikovat podle pravidel natavení locale. Pokud nastavíme locale na Češtinu, programy budou s námi komunikovat česky, budou používat česká menu a informace z výstupu budou také v českém formátu. Zjištění nastavení locale se provede příkazem locale. V podstatě jde o nastavení knihoven libc a glibc. Ve Slackware Linuxu je standartně nastaveno na "en_US".

Zjištění nastavení locale.

# locale
LANG="en_US"
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="C"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=

Jaké systém muže používat locale nastavení provedeme příkazem locale -a.
Mimo jiné na výstupu dostaneme i tyto možnosti.

# locale -a
cs_CZ
cs_CZ.utf8

Nastavení locale na cs_CZ provedeme pro bash.

# export LANG=cs_CZ
# export LC_ALL=cs_CZ

pro csh a tcsh

# setenv LANG cs_CZ
# setenv LC_ALL cs_CZ

Ve Slackware Linuxu se nastavení locale ukládá do

/etc/profile.d/lang.sh
/etc/profile.d/lang.csh

To se používá jako globální nastavení. Pokud pracují na počítači pouze češi, není problém locale nastavit na "cs_CZ" přímo v /etc/profile.d , ovšem je možné a snad i lepší nastavit si locale v ~/.profile

Pokud používáte program, který nemá českou lokalizaci, anglickou nemusíte, ale třeba by vám nevadila slovenská, můžete doplnit lokalizaci takto.

# export LANG=cs_CZ
# export LC_ALL=cs_CZ
# export LANGUAGE=cs:sk
# export LINGUAS="cs sk"

Zatím jsem to netestoval, ale věřím že to funguje tak jak má.

###
# 2. Nastavení konzole

Jestliže máme locale nastavené na cs_CZ a pracujeme v konzoli, je třeba používat i česlou mapu znaků a české fonty. To provedeme příkazy loadkeys a setfont.
Mapy klávesnic jsou uloženy v

/usr/share/kbd/keymaps/i386/qwerty/

Mimo jiné zde nalezneme i české mapy.

cz-cp1250.map.gz
cz-lat2.map.gz
cz-lat2-prog.map.gz
cz.map.gz

Fonty jsou uloženy v

/usr/share/kbd/consolefonts/

Mimo jiné zde nalezneme tyto fonty

cp1250.psfu.gz
lat2-08.psfu.gz
lat2-10.psfu.gz
lat2-12.psfu.gz
lat2-14.psfu.gz
lat2-16.psfu.gz
lat2a-16.psfu.gz

Nastavení mapy a fontu provedeme takto.

# loadkeys cz-lat2.map.gz
# setfont lat2-16.psfu.gz

Ve Slackware Linuxu je nastavení konzole uloženo v

/etc/rc.d/rc.font
/etc/rc.d/rc.keymap

Opět toto je globální nastavení systému a lokálně lze nastavit mapu a font
osobního nastavení v ~/.profile . Přepínání se provádí tlačítkem Pause.

###
# 3. Nastavení X11

Aby Xwindow a programy psané pro ně používaly fonty latin2 a mohli jsme používat více klávesových map - us a cz, musíme nastavit X11.

V souboru /etc/X11/xorg.conf nastavíme v sekci "Files" nastavíme fonty.

FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"

Případně doplníme o TTF fonty z internetu

FontPath "/usr/X11R6/lib/X11/fonts/TTF/"

Aby Xwindow mohl používat tyto fonty, je třeba vytvořit soubory s informacemi o fontech - fonts.dir a fonts.scale v adresáři fontu. To provedeme příkazem

# mkfontscale
# mkfontdir

Protože jména fontu jsou příliš dlouhá,
např. "-b&h-lucida-medium-i-normal-sans-24-240-75-75-p-136-iso8859-2"
Vytváří se zkrácené názvy - aliasy fontu, v jednotlivých adresářích fontů.
Soubory:

/usr/X11R6/lib/X11/fonts/100dpi/font.alias
/usr/X11R6/lib/X11/fonts/75dpi/font.alias
/usr/X11R6/lib/X11/fonts/misc/font.alias

Obsahují jména aliasu fontu.

"6x10 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1"

Což znamená že pokud bude program používat tont 6x10, bude v kodování
iso8895-1 i když je locale nastavené na iso8895-2.
Proto musíme přepsat aliasy fontů z iso8859-1 na iso8859-2:

"6x10 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-2"

Potom budou používány správná fonty i v xtermu a jiných programech.

V souboru /etc/X11/xorg.conf nastavíme v sekci "Keyboard" nastavíme mapu znaků a způsob přepínání.

Option "XkbRules" "xorg"
Option "XkbModel" "pc101"
Option "XkbLayout" "us,cz_qwerty"
Option "XkbVariant" ""
Option "XkbOptions" "grp:alt_shift_toggle"

Restartujeme system Xwindouw.

###
# 4. Nastavení programů

Pokud program nezobrazuje správné fonty, většinou má svoje nastavení, které lze nastavit v konfiguračním souboru, nebo konfiguračním programem. V současné době není téměř, až na malé vyjímky problém.

man

České manuálové stránky nejsou správně zobrazovány programem man. V podstatě manuálovou stránku zobrazuje program nroff. Aby byly správně zobrazeny manuálové stránky, není potřena ni stahovat, jen nastavit configurační soubor programu man.

/etc/man.conf

nebo

/usr/lib/man.conf

Přepíšeme nastavení

TROFF /usr/bin/groff -S -Tps -mandoc
NROFF /usr/bin/nroff -S -mandoc

na

TROFF /usr/bin/groff -S -Tps -mandoc
NROFF /usr/bin/nroff -S -Tlatin1 -mandoc

Pokud používáte originální verzi programu groff od Slackwarea groff-1.17.2 , mělo by vše chodit tak, jak má. Pokud si vytvoříte vlastní balíček, groff-1.18.1.1 nebo groff-1.19 a groff-1.19.1, musíte doplnit konfigurační soubor.

TROFF /usr/bin/groff -S -c -Tps -mandoc
NROFF /usr/bin/nroff -S -c -Tlatin1 -mandoc

A konečně i man správně funguje.
Autor: Jindřich Plešinger