Poslovenčovanie konkrétnych aplikácií

Slovak-HOWTO
Predchádzajúci |  | Ďalší

# 6. Poslovenčovanie konkrétnych aplikácií

Čím ďalej, tým viac programov obsahuje bezproblémovú podporu jazykov iných ako angličtina. Napriek tomu je ešte pár balíkov, ktoré buď používajú vlastné rozloženia kláves, alebo je treba nastaviť nejaké tie fonty či premenné. V tejto kapitole si popíšeme tie aplikácie, v ktorých je pre rozbehanie slovenčiny po naištalovaní nutné urobiť viac ako `export LANG=sk`.

Ak chcete naozaj plnohodnotne využívať podporu národných nastavení, vždy sa uistite, že program, ktorý používate (alebo celá distribúcia), nie je starší ako 6 - 12 mesiacov. Je totiž možné, že autori pridali túto podporu len v novších verziách.

Niektoré z nasledovných popisov nie sú pôvodné a niektoré nemusia byť ani odskúšané. Preto je pri každom uvedený autor a jeho adresa a prípadný zdroj, z ktorého sa návod dostal do Slovak-HOWTO.

## 6.1. Bash

Viď Readline.

Ján 'judas' Tomka, `<judas@linux.sk>`

Bash máva nepravidelne problém pri zmene premennej `LC_CTYPE` a zvykne sa stať, že znaky s diakritikou sa nevypisujú napriek správnemu nastaveniu tejto premennej. Zatiaľ sa mi nepodarilo zistiť, kde je chyba, lebo napríklad Vim spustený z takéhoto Bashu funguje správne... Zatiaľ to riešim príkazom

    bash$ exec bash

Aktuálny shell sa nahradí novým, ktorý už premennú `LC_CTYPE` pochopí správne a je už možné zadávať aj znaky s diakritikou.

## 6.2. Joe

Ján Ondrej (SAL), `<ondrejj@salstar.shadow.sk>`

Ak chcete používať národné prostredie, potrebujete mať nainštalovanú slovenskú klávesnicu, slovenský font a navyše musíte povoliť zobrazovanie znakov s ASCII kódom 128-255 tak, ako sú (as is). To môžete spraviť zmazaním medzery pred voľbou `-asis` v konfiguračnom súbore `joerc`. Najčastejšie ho nájdete v adresári `/usr/lib/joe/`, v Debiane je v adresári `/etc/`. Ďalšou možnosťou je pridanie parametra `-asis` pri spúšťaní programu.

## 6.3. Lynx

Ján 'judas' Tomka, `<judas@linux.sk>`

V konfigurácii Lynxu sa lokalizácie týkajú hlavne tieto nastavenia:

- Display character set (`CHARACTER_SET`) --- kódovanie znakov na výstupe. Toto hovorí o tom, do akej znakovej sady sa budú prevádzať znaky pred zobrazením na vašej obrazovke. Ak máte štandardne nastavený slovenský font, môžete mať toto vždy nastavené na `ISO-8859-2`.

- Assumed document character set (`ASSUME_CHARSET`) --- aká znaková sada sa má použiť, ak html dokument neobsahuje informáciu o svojom kódovaní a nastavenie `Raw 8-bit` je vypnuté. HTTP štandardom je ISO-8859-1 takže tak. Väčšinou majú dokumenty s iným kódovaním ako ISO-8859-1 informáciu o svojej znakovej sade, vtedy sa toto nastavenie neberie do úvahy. Ak chcete, aby sa dokumenty, ktoré nemajú explicitne danú sadu znakov, považovali za súbory s kódovaním Latin 2, nastavte si túto premennú. Možno ju nastaviť len v súbore `/etc/lynx.cfg` (teda nie pre každého užívateľa zvlášť).

- Raw 8-bit --- s týmto sa veľmi trápiť nemusíte, len v prípade, že sa slovenské znaky nezobrazujú správne, sa vždy uistite, že to máte zapnuté (klávesovou skratkou @).

Konfiguračný súbor `/etc/lynx.cfg` upravte, aby obsahoval minimálne prvý riadok z

    CHARACTER_SET:iso-8859-2
    ASSUME_CHARSET:iso-8859-2

...alebo, pre užívateľský konfiguračný súbor `~/.lynxrc`:

    character_set=Eastern European (ISO-8859-2)

## 6.4. Mandrake 8

Viď RPM4.

Ján 'judas' Tomka, `<judas@linux.sk>`

### 6.4.1. NLSPATH

Ak inštalujete aplikácie, ktorých súbory s preloženými hláseniami (*.mo) sa po inštalácii nenachádzajú v adresárovej štruktúre pod `/usr/share/locale/`, odstráňte zo súboru `/etc/profile` riadok

    export NLSPATH=/usr/share/locale/%l/%N

Vraj je ten riadok nutný pre level1 compliance for LI18NUX2000, man a staršie programy, ale kašľať na štandardy a starý šrot, keď to funguje len bez tej premennej. Samozrejme, ak vám to funguje aj s ňou, zabudnite na mňa.

V prípade, že nemôžete meniť `/etc/profile`, vložte si do svojho `~/.profile` riadok

    unset NLSPATH

### 6.4.2. SYSFONTACM

Pre správnu funkciu fontov je nutné okrem `LC_CTYPE` a `SYSFONT` nastaviť aj premennú `SYSFONTACM` v súbore `/etc/sysconfig/i18n`. No ak máte vlastný úžívateľský súbor `~/.i18n`, globálny sa nenačíta a premenná `SYSFONTACM` sa nenastaví. Preto vždy vložte do svojho užívateľského súboru riadok:

    SYSFONTACM=iso02

Na vine je skript `/etc/profile.d/lang.sh`, pretože ten pošle na terminál Escape sekvenciu zavedenia užívateľského fontu len v prípade, že je nastavená premenná `SYSFONTACM`. Tak si ju nastavte, alebo si to nejako opravte!

## 6.5. Midnight Commander

Ján Ondrej (SAL), `<ondrejj@salstar.shadow.sk>`

Jeho lokalizácia je jednoduchá, pretože ju priamo podporuje. Klávesou F9 vyvoláte menu Options->Display bits... a zapnite voľby:

    (*) Full 8 bits output
    [x] Full 8 bits input

Po tomto kroku bude MC vypisovať diakritické znaky správne a bude ich možné aj zadávať z klávesnice. Ak sa pri vstupe do niektorých adresárov bude zobrazovať hláška „`Warning: Couldn't change to ...`“, tak potrebujete lokalizovať knižnicu readline (iba pre staršie RedHat systémy).

Rámčeky v MC (judas). Ak používate console-tools, pre správnu funkciu rámčekov v Midnight Commander a podobných textových aplikáciách nastavte font s application charset map. U mňa funguje jedine táto kombinácia:

    sh$ consolechars --font lat2u-16 --acm iso02

## 6.6. Mutt

Ján 'judas' Tomka, `<judas@linux.sk>`

Miestnych nastavení sa týkajú v konfiguračnom súbore `~/.muttrc` nasledovné premenné:

- `ascii_chars` -- Ak je nastavená, Mutt použije znaky ASCII pri zobrazovaní vláken stromov pripojených súborov, namiesto znakov ASC. To odporúčam, ak máte nastavený starší font bez podpory app-charset-map a namiesto čiar a šípiek sa vám zobrazujú znaky s diakritikou, alebo tieto znaky blikajú ap.

- `charset` -- Znaková sada, ktorú používa váš terminál na zobrazovanie a vkladanie textových dát. Nastaviť na kód znakovej sady fontu, ktorý máte nastavený na konzole alebo v XTerme, atď.

- `send_charset` --

## 6.7. Readline

Ján 'judas' Tomka, `<judas@linux.sk>`

V súbore s globálnymi nastaveniami `/etc/inputrc` alebo vo svojom užívateľskom súbore `~/.inputrc` je pre správnu interpretáciu osembitových znakov nastaviť tieto premenné:

- `convert-meta` --- Ak je nastavená na `on', Readline konvertuje znaky s nastaveným ôsmym bitom na sekvenciu znakov ASCII odstránením ôsmeho bitu a pridaním znaku Esc na začiatok.

- `input-meta` --- Ak je nastavená na `on', Readline umožní osembitový vstup (neodstráni ôsmy bit z prečítaných znakov) bez ohľadu na to, či to terminál podporuje. Meno `meta-flag` je synonymom pre túto premennú.

- `output-meta` --- Ak je nastavená na `on', Readline bude zobrazovať znaky s nastaveným ôsmym bitom priamo a nie ako escape sekvencie.

Takže, do jedného zo spomínaných súborov vložte takéto nastavenia:

    set convert-meta off
    set input-meta on
    set output-meta on

## 6.8. RPM4

Ján 'judas' Tomka, `<judas@linux.sk>`

Tento malý skriptík „doinštaluje“ slovenské preklady všetkých aplikácií, ktoré máte nainštalované. Môžu vám chýbať, ak ste pri inštalácii operačného systému nezvolili slovenský jazyk.

    export RPM_INSTALL_LANG=sk
    cd /mnt/cdrom/Mandrake/RPMS/
    for i in *.rpm; do
    	j=$(rpm -q --queryformat "%{NAME}" -p $i)
    	if rpm -q $j; then
    		rpm -Uvh --replacepkgs $i
    	fi
    done

Už nikdy nezabudnite nastaviť premennú `RPM_INSTALL_LANG`!

## 6.9. Rxvt

Ján 'judas' Tomka, `<judas@linux.sk>`

Náprava toho, že Rxvt vypisuje mŕtvy kláves priamo a nečaká na ďalší znak, s ktorým by ho skombinoval, je otázka jedného argumentu pri konfigurovaní:

    sh$ ./configure --enable-xim
    sh$ make
    sh$ su -c'make install'

Týmto sa Rxvt skompiluje s podporou pre XIM (X Input Method) protokol. Ten umožňuje alternatívne metódy vstupu (napr. kinput2) a tiež správne nastavenia pre ľudí, čo používajú mŕtve klávesy.

## 6.10. Samba

Ján Ondrej (SAL), `<ondrejj@salstar.shadow.sk>`

Po nastavení lokalizácie dokáže automaticky prekódovať znaky s diakritikou z kódovania 852 na ISO-8859-2. Nastavuje sa to v konfiguračnom súbore `/etc/smb.conf` pridaním nasledujúcich riadkov do sekcie `[global]`:

    character set = iso8859-2
    client code page = 852

Predchádzajúci | Domov | Ďalší
Slovenčina a linuxový kernel |  | Fintičky so slovenčinou