Linuxdoc Linux Questions
Click here to ask our community of linux experts!
Custom Search

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,

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),

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,

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,

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),

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,

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,

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,

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,

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),

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