mirror of https://github.com/tLDP/LDP
Initial import of sources and tools, v4.0.
This commit is contained in:
parent
98609374f6
commit
94616188bd
|
@ -0,0 +1,88 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# replace iso-8859-2 characters with appropriate SGML entities
|
||||
# author: Juraj Bednar
|
||||
# usage: lat2ent.pl <latin2.sgml >entities.sgml
|
||||
|
||||
while ($_=<>) {
|
||||
s/¡/Ą/g;
|
||||
s/£/Ł/g;
|
||||
s/¥/Ľ/g;
|
||||
s/¦/Ś/g;
|
||||
s/©/Š/g;
|
||||
s/ª/Ş/g;
|
||||
s/«/Ť/g;
|
||||
s/¬/Ź/g;
|
||||
s/®/Ž/g;
|
||||
s/¯/&Zabovedot;/g;
|
||||
s/±/ą/g;
|
||||
s/³/ł/g;
|
||||
s/µ/ľ/g;
|
||||
s/¶/ś/g;
|
||||
s/¹/š/g;
|
||||
s/º/ş/g;
|
||||
s/»/ť/g;
|
||||
s/¼/ź/g;
|
||||
s/¾/ž/g;
|
||||
s/¿/&zabovedot;/g;
|
||||
s/À/Ŕ/g;
|
||||
s/Á/Á/g;
|
||||
s/Â/Â/g;
|
||||
s/Ã/Ă/g;
|
||||
s/Ä/Ā/g;
|
||||
s/Å/Ĺ/g;
|
||||
s/Æ/Ć/g;
|
||||
s/Ç/Ç/g;
|
||||
s/È/Č/g;
|
||||
s/É/É/g;
|
||||
s/Ê/Ę/g;
|
||||
s/Ë/Ē/g;
|
||||
s/Ì/Ě/g;
|
||||
s/Í/Í/g;
|
||||
s/Î/Î/g;
|
||||
s/Ï/Ď/g;
|
||||
s/Ñ/Ń/g;
|
||||
s/Ò/Ň/g;
|
||||
s/Ó/Ó/g;
|
||||
s/Ô/Ô/g;
|
||||
s/Õ/Ő/g;
|
||||
s/Ö/Ō/g;
|
||||
s/Ø/Ř/g;
|
||||
s/Ù/Ů/g;
|
||||
s/Ú/Ú/g;
|
||||
s/Û/Ű/g;
|
||||
s/Ü/Ū/g;
|
||||
s/Ý/Ý/g;
|
||||
s/Þ/Ţ/g;
|
||||
s/ß/&ssharp;/g;
|
||||
s/à/ŕ/g;
|
||||
s/á/á/g;
|
||||
s/â/â/g;
|
||||
s/ã/ă/g;
|
||||
s/ä/ā/g;
|
||||
s/å/ĺ/g;
|
||||
s/æ/ć/g;
|
||||
s/ç/ç/g;
|
||||
s/è/č/g;
|
||||
s/é/é/g;
|
||||
s/ê/ę/g;
|
||||
s/ë/ē/g;
|
||||
s/ì/ě/g;
|
||||
s/í/í/g;
|
||||
s/î/î/g;
|
||||
s/ï/ď/g;
|
||||
s/ñ/ń/g;
|
||||
s/ò/ň/g;
|
||||
s/ó/ó/g;
|
||||
s/ô/ô/g;
|
||||
s/õ/ő/g;
|
||||
s/ö/ō/g;
|
||||
s/ø/ř/g;
|
||||
s/ù/ů/g;
|
||||
s/ú/ú/g;
|
||||
s/û/ű/g;
|
||||
s/ü/ū/g;
|
||||
s/ý/ý/g;
|
||||
s/þ/ţ/g;
|
||||
print $_;
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
# Slovak-HOWTO
|
||||
# make a single SGML file from Slovak-HOWTO sources
|
||||
# with latin2 chars replaced with SGML entities
|
||||
|
||||
|
||||
SOURCES = apps.sgml \
|
||||
console.sgml \
|
||||
gettext.sgml \
|
||||
index.sgml \
|
||||
intro.sgml \
|
||||
kernel.sgml \
|
||||
locales.sgml \
|
||||
tricks.sgml \
|
||||
unicode.sgml \
|
||||
xwindow.sgml
|
||||
|
||||
|
||||
Slovak-HOWTO.sgml: $(SOURCES)
|
||||
./Single-SGML.awk <index.sgml | ./Lat2ent.pl >Slovak-HOWTO.sgml
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
rm Slovak-HOWTO.sgml
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/awk -f
|
||||
#
|
||||
# merge Slovak-HOWTO sgml sources into one file
|
||||
# author: Jan 'judas' Tomka, Oct 13 2001
|
||||
# usage: single-sgml.awk <index.sgml >Slovak-HOWTO.sgml
|
||||
|
||||
/ENTITY[[[:blank:]]+skhowto\.\w+/ {
|
||||
sub(/skhowto\./, "", $2)
|
||||
sub(/>/, "", $4)
|
||||
a[$2] = $4
|
||||
next
|
||||
}
|
||||
|
||||
/&skhowto\.\w+;/ {
|
||||
gsub(/\&skhowto\.|\;/, "", $1)
|
||||
system("cat " a[$1])
|
||||
next
|
||||
}
|
||||
|
||||
{
|
||||
print $0
|
||||
}
|
||||
|
|
@ -0,0 +1,370 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="apps">
|
||||
<title id="apps.title">Poslovenèovanie konkrétnych aplikácií</title>
|
||||
|
||||
<para>Èí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
|
||||
<computeroutput>export LANG=sk</computeroutput>.</para>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
<para>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
|
||||
<citetitle>Slovak-HOWTO</citetitle>.</para>
|
||||
|
||||
<section id="apps-bash">
|
||||
<title>Bash</title>
|
||||
|
||||
<para>Viï <xref linkend="apps-readline" endterm="apps-readline.title">.</para>
|
||||
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>Bash máva nepravidelne problém pri zmene premennej <envar>LC_CTYPE</envar> 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
|
||||
<screen>
|
||||
bash$ exec bash
|
||||
</screen></para>
|
||||
|
||||
<para>Aktuálny shell sa nahradí novým, ktorý u¾ premennú <envar>LC_CTYPE</envar> pochopí správne
|
||||
a je u¾ mo¾né zadáva» aj znaky s diakritikou.</para>
|
||||
</section> <!-- apps-bash -->
|
||||
|
||||
<section id="apps-joe">
|
||||
<title>Joe</title>
|
||||
|
||||
<para>Ján Ondrej (SAL), <email>ondrejj@salstar.shadow.sk</email></para>
|
||||
|
||||
<para>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 <acronym>ASCII</acronym> kódom
|
||||
128-255 tak, ako sú (as is). To mô¾ete spravi» zmazaním medzery pred voµbou
|
||||
<computeroutput>-asis</computeroutput> v konfiguraènom súbore <filename>joerc</filename>.
|
||||
Najèastej¹ie ho nájdete v adresári <filename class="directory">/usr/lib/joe/</filename>, v
|
||||
<systemitem class="osname">Debiane</systemitem> je priamo v adresári
|
||||
<filename class="directory">/etc/</filename>. Ïal¹ou mo¾nos»ou je pridanie parametra
|
||||
<computeroutput>-asis</computeroutput> pri spú¹»aní programu.</para>
|
||||
</section> <!-- apps-joe -->
|
||||
|
||||
<section id="apps-lynx">
|
||||
<title>Lynx</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>V konfigurácii Lynxu sa lokalizácie týkajú hlavne tieto nastavenia:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Display character set (<varname>CHARACTER_SET</varname>) --- 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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Assumed document character set (<varname>ASSUME_CHARSET</varname>) --- aká znaková
|
||||
sada sa má pou¾i», ak html dokument neobsahuje informáciu o svojom kódovaní a nastavenie
|
||||
<computeroutput>Raw 8-bit</computeroutput> 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
|
||||
<filename>/etc/lynx.cfg</filename> (teda nie pre ka¾dého u¾ívateµa zvlá¹»).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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
|
||||
<keycap>@</keycap>).</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
|
||||
<para>Konfiguraèný súbor <filename>/etc/lynx.cfg</filename> upravte, aby obsahoval minimálne
|
||||
prvý riadok z
|
||||
<programlisting>
|
||||
CHARACTER_SET:iso-8859-2
|
||||
ASSUME_CHARSET:iso-8859-2
|
||||
</programlisting></para>
|
||||
|
||||
<para>...alebo, pre u¾ívateµský konfiguraèný súbor <filename>~/.lynxrc</filename>:
|
||||
<programlisting>
|
||||
character_set=Eastern European (ISO-8859-2)
|
||||
</programlisting></para>
|
||||
</section> <!-- apps-lynx -->
|
||||
|
||||
<section id="apps-mdk8">
|
||||
<title>Mandrake 8</title>
|
||||
|
||||
<para>Viï <xref linkend="apps-rpm4" endterm="apps-rpm4.title">.</para>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<section id="apps-mdk8-nlspath">
|
||||
<title>NLSPATH</title>
|
||||
|
||||
<para>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
|
||||
<filename class="directory">/usr/share/locale/</filename>, odstráòte zo súboru
|
||||
<filename>/etc/profile</filename> riadok
|
||||
<programlisting>
|
||||
export NLSPATH=/usr/share/locale/%l/%N
|
||||
</programlisting></para>
|
||||
|
||||
<para>Vraj je ten riadok nutný pre <foreignphrase>level1 compliance for
|
||||
LI18NUX2000</foreignphrase>, <application>man</application> 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.</para>
|
||||
|
||||
<para>V prípade, ¾e nemô¾ete meni» <filename>/etc/profile</filename>, vlo¾te si do svojho
|
||||
<filename>~/.profile</filename> riadok
|
||||
<programlisting>
|
||||
unset NLSPATH
|
||||
</programlisting></para>
|
||||
</section> <!-- apps-mdk8-nlspath -->
|
||||
|
||||
<section id="apps-mdk8-sysfontacm">
|
||||
<title>SYSFONTACM</title>
|
||||
|
||||
<para>Pre správnu funkciu fontov je nutné okrem <envar>LC_CTYPE</envar> a
|
||||
<envar>SYSFONT</envar> nastavi» aj premennú <envar>SYSFONTACM</envar> v súbore
|
||||
<filename>/etc/sysconfig/i18n</filename>. No ak máte vlastný ú¾ívateµský súbor
|
||||
<filename>~/.i18n</filename>, globálny sa nenaèíta a premenná <envar>SYSFONTACM</envar> sa
|
||||
nenastaví. Preto v¾dy vlo¾te do svojho u¾ívateµského súboru riadok:
|
||||
<programlisting>
|
||||
SYSFONTACM=iso02
|
||||
</programlisting></para>
|
||||
|
||||
<para>Na vine je skript <filename>/etc/profile.d/lang.sh</filename>, preto¾e ten po¹le na
|
||||
terminál Escape sekvenciu zavedenia u¾ívateµského fontu len v prípade, ¾e je nastavená
|
||||
premenná <envar>SYSFONTACM</envar>. Tak si ju nastavte, alebo si to nejako opravte!</para>
|
||||
|
||||
</section> <!-- apps-mdk8-sysfontacm -->
|
||||
</section> <!-- apps-mdk8 -->
|
||||
|
||||
<section id="apps-mc">
|
||||
<title>Midnight Commander</title>
|
||||
|
||||
<para>Ján Ondrej (SAL), <email>ondrejj@salstar.shadow.sk</email></para>
|
||||
|
||||
<para>Jeho lokalizácia je jednoduchá, preto¾e ju priamo podporuje. Klávesou <keycap>F9</keycap>
|
||||
vyvoláte menu <menuchoice><guimenu>Options</guimenu>
|
||||
<guimenuitem>Display bits...</guimenuitem></menuchoice> a zapnite voµby:
|
||||
<programlisting>
|
||||
(*) Full 8 bits output
|
||||
[x] Full 8 bits input
|
||||
</programlisting></para>
|
||||
|
||||
<para>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
|
||||
<quote><computeroutput>Warning: Couldn't change to ...</computeroutput></quote>, tak
|
||||
potrebujete lokalizova» kni¾nicu <application>readline</application> (iba pre star¹ie
|
||||
<systemitem class="osname">RedHat</systemitem> systémy).</para>
|
||||
|
||||
<formalpara><title>Rámèeky v MC (judas)</title>
|
||||
<para>Ak pou¾ívate console-tools, pre správnu funkciu rámèekov v <application>Midnight
|
||||
Commander</application> a podobných textových aplikáciách nastavte font s
|
||||
<foreignphrase>application charset map</foreignphrase>. U mòa funguje jedine táto
|
||||
kombinácia:
|
||||
<screen>
|
||||
sh$ consolechars --font lat2u-16 --acm iso02
|
||||
</screen></para>
|
||||
</formalpara>
|
||||
</section> <!-- apps-mc -->
|
||||
|
||||
<section id="apps-mutt">
|
||||
<title>Mutt</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>Miestnych nastavení sa týkajú v konfiguraènom súbore <filename>~/.muttrc</filename>
|
||||
nasledovné premenné:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><varname>allow_8bit</varname> -- Ovplyvòuje konverziu 8-bitových dát na 7-bitové
|
||||
kódovaním Quoted-Printable alebo Base64 pri zasielaní po¹ty. U mòa na nastavení tejto
|
||||
premennej nezále¾í, ale v prípade problémov skúste zmeni» nastavenie tejto
|
||||
premennej.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><varname>ascii_chars</varname> -- Ak je nastavená, <application>Mutt</application>
|
||||
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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><varname>charset</varname> -- 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ï.</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
</section> <!-- apps-mutt -->
|
||||
|
||||
<section id="apps-readline">
|
||||
<title id="apps-readline.title">Readline</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>V súbore s globálnymi nastaveniami <filename>/etc/inputrc</filename> alebo vo svojom
|
||||
u¾ívateµskom súbore <filename>~/.inputrc</filename> je pre správnu interpretáciu osembitových
|
||||
znakov nastavi» tieto premenné:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><varname>convert-meta</varname> --- 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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><varname>input-meta</varname> --- 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 <varname>meta-flag</varname> je synonymom pre túto
|
||||
premennú.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><varname>output-meta</varname> --- Ak je nastavená na `on', Readline bude zobrazova»
|
||||
znaky s nastaveným ôsmym bitom priamo a nie ako escape sekvencie.</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
|
||||
<para>Tak¾e, do jedného zo spomínaných súborov vlo¾te takéto nastavenia:
|
||||
<programlisting>
|
||||
set convert-meta off
|
||||
set input-meta on
|
||||
set output-meta on
|
||||
</programlisting></para>
|
||||
</section> <!-- apps-readline -->
|
||||
|
||||
<section id="apps-rpm4">
|
||||
<title id="apps-rpm4.title">RPM4</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>Tento malý skriptík <quote>doin¹taluje</quote> 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.</para>
|
||||
|
||||
<para>
|
||||
<programlisting>
|
||||
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
|
||||
</programlisting></para>
|
||||
|
||||
<para>U¾ nikdy nezabudnite nastavi» premennú <varname>RPM_INSTALL_LANG</varname>!</para>
|
||||
</section> <!-- apps-rpm4 -->
|
||||
|
||||
<section id="apps-rxvt">
|
||||
<title>Rxvt</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>Náprava toho, ¾e <application>Rxvt</application> 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í:
|
||||
<screen>
|
||||
sh$ ./configure --enable-xim
|
||||
sh$ make
|
||||
sh$ su -c'make install'
|
||||
</screen></para>
|
||||
|
||||
<para>Týmto sa <application>Rxvt</application> skompiluje s podporou pre <acronym>XIM</acronym>
|
||||
(<foreignphrase>X Input Method</foreignphrase>) 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. Preèo
|
||||
distribúcie prichádzajú s rxvt bez tejto vlastnosti, to nechám na detektíva Karola.</para>
|
||||
|
||||
<para>Pre správnu funkciu <keycap>Home</keycap> a <keycap>End</keycap> je treba v konfiguraènom
|
||||
súbore <filename>src/feature.h</filename> (e¹te pred prvým príkazom make) definova» makro
|
||||
<programlisting>
|
||||
#define LINUX_KEYS
|
||||
</programlisting></para>
|
||||
</section> <!-- apps-rxvt -->
|
||||
|
||||
<section id="apps-samba">
|
||||
<title>Samba</title>
|
||||
|
||||
<para>Ján Ondrej (SAL), <email>ondrejj@salstar.shadow.sk</email></para>
|
||||
|
||||
<para>Po nastavení lokalizácie doká¾e automaticky prekódova» znaky s diakritikou z kódovania 852
|
||||
na ISO8859-2. Nastavuje sa to v konfiguraènom súbore <filename>/etc/smb.conf</filename>
|
||||
pridaním nasledujúcich riadkov do sekcie <computeroutput>[global]</computeroutput>:
|
||||
<programlisting>
|
||||
character set = iso8859-2
|
||||
client code page = 852
|
||||
</programlisting></para>
|
||||
</section> <!-- apps-samba -->
|
||||
|
||||
<section id="apps-wmaker">
|
||||
<title>Window Maker</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para><application>Window Maker</application> má prakticky bezproblémovú podporu locales. V
|
||||
aktuálnej verzii sa nachádzajú najnov¹ie preklady a úpravy pre Slovenèinu, tak¾e u¾ netreba
|
||||
¾iadne záplaty.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Kompilácia:
|
||||
<screen>
|
||||
sh$ LINGUAS=sk ./configure --enable-modelock # modelock = language button
|
||||
sh$ make
|
||||
sh$ su -c'make install'
|
||||
</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Slovenské fonty a menu (po wmaker.inst)
|
||||
<screen>
|
||||
### star¹ie ako 0.65.0
|
||||
sh$ wsetfont latin2
|
||||
sh$ wdwrite WMGLOBAL MultiByteText YES
|
||||
|
||||
# proplist menu
|
||||
sh$ cp ~/GNUstep/Library/WindowMaker/plmenu.sk ~/GNUstep/Defaults/WMRootMenu
|
||||
|
||||
# plain-text menu
|
||||
sh$ echo "~/GNUstep/Library/WindowMaker/menu.sk" > ~/GNUstep/Defaults/WMRootMenu
|
||||
|
||||
|
||||
### 0.65.0sk a nov¹ie
|
||||
sh$ wmchlocale sk
|
||||
</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Slovenská ikona pre language button (len pre 0.65.0sk) ---
|
||||
ak ste zadali s <command>configure</command> argument
|
||||
<computeroutput>--enable-modelock</computeroutput>, mô¾ete v
|
||||
súbore <filename class="headerfile">src/wconfig.h</filename> zmeni» riadok
|
||||
<programlisting>
|
||||
#undef LANGUAGE_SK
|
||||
</programlisting>
|
||||
na
|
||||
<programlisting>
|
||||
#define LANGUAGE_SK
|
||||
</programlisting></para>
|
||||
|
||||
<para>Potom staèí wmaker skompilova» a vo WPrefs povoli» language button. Pri prepínaní
|
||||
klávesnice sa v òom bude zobrazova» slovenský dvojkrí¾ namiesto srdieèka...</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Bohu¾iaµ, aplikácie zalo¾ené na kni¾nici WINGs majú problémy s prepínaním rozlo¾ení
|
||||
kláves. To sa prejavuje pri editovaní WMTextField (opravené v 0.65.0sk) a polo¾iek menu, keï
|
||||
je mo¾né zadáva» znaky len pri nastavenom rozlo¾ení kláves, s ktorým bol X server
|
||||
spustený.</para>
|
||||
</section> <!-- apps-wmaker -->
|
||||
</section> <!-- apps -->
|
||||
|
|
@ -0,0 +1,910 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="console">
|
||||
<title>Nastavenia konzoly</title>
|
||||
|
||||
<para>Táto kapitola by mala èítavou, pouènou a zároveò zábavnou formou pojednáva» o veciach medzi
|
||||
prstom a okom. Základnou otázkou nech nám je <quote>Hét szentség it neky, ako mám prinúti» svoju
|
||||
ma¹inu, aby mi ¾rala slovenské znaky z klávesnice a aby mi ich tie¾ aj vypµúvala na
|
||||
obrazovku?! To v¹etko v textovom re¾ime!</quote></para>
|
||||
|
||||
<section id="console-fonts">
|
||||
<title>Slovenèina na výstupe textovej konzoly</title>
|
||||
|
||||
<section id="console-fonts-fonts">
|
||||
<title>Fonty</title>
|
||||
|
||||
<para>Keï zobudíte o polnoci hocikoho, kto vo svojom ¾ivote videl poèítaè a opýtate sa ho, ako
|
||||
rozbeha» slovenské znaky, urèite spomenie nieèo ako fonty. Toti¾, aj malé decko vie, ¾e na
|
||||
zobrazovanie znakov na obrazovku -- èi u¾ v textovom alebo grafickom re¾ime -- slú¾ia fonty.
|
||||
Fonty pre konzolu a programy urèené na manipuláciu s nimi sa nachádzajú v balíku
|
||||
<application>kbd</application>. Po jeho nain¹talovaní sú súbory s fontami umiestnené v
|
||||
adresári <filename class="directory">/usr/lib/kbd/consolefonts/</filename>.</para>
|
||||
|
||||
<para>Pre nás sú dôle¾ité najmä súbory, ktoré majú v mene <filename>iso02</filename>,
|
||||
<filename>lat2</filename>, <filename>latin2</filename> alebo èíslo <filename>852</filename>.
|
||||
To naznaèuje, ¾e ide o fonty s podporou <emphasis>iso-8859-2</emphasis>
|
||||
(<emphasis>latin2</emphasis>), alebo <emphasis>DOS codepage 852</emphasis>, èo sú ¹tandardy
|
||||
aj pre slovenskú diakritiku.</para>
|
||||
|
||||
<para>Pozor, pôvodný balík sa volá <application>kbd</application>, ale existuje jeho roz¹írená
|
||||
verzia, ktorá sa objavuje v distribúciách -- <application>console-tools</application>.
|
||||
Rozdiely medzi nimi sú minimálne, pre <application>kbd</application> budeme pou¾íva» príkaz
|
||||
<command>setfont</command>, pre <application>console-tools</application> zase
|
||||
<command>consolechars</command>. Taktie¾, názvy dodávaných fontov sa trochu odli¹ujú, tak¾e
|
||||
budem uvádza» ekvivalenty pre oba balíky.</para>
|
||||
</section> <!-- console-fonts-fonts -->
|
||||
|
||||
<section id="console-fonts-theory">
|
||||
<title>Ako fonty fungujú</title>
|
||||
|
||||
<para>Existuje niekoµko súborových formátov na ukladanie fontov, princíp je v¹ak rovnaký --
|
||||
súbor obsahuje 256 obrázkov (<foreignphrase>glyphs</foreignphrase>), z ktorých v¹etky majú
|
||||
rovnaký rozmer (napr. 8x16 bodov -- veµkos» fontu) a ka¾dý zobrazuje jeden znak.</para>
|
||||
|
||||
<para>Aby nám tých 256 obrázkov bolo na nieèo dobrých, je treba font zo súboru zavies» do
|
||||
znakového generátora videokarty. Na to slú¾i jeden z príkazov
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<cmdsynopsis>
|
||||
<command>setfont</command>
|
||||
<arg choice="plain"><replaceable>meno-fontu</replaceable></arg>
|
||||
</cmdsynopsis></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<cmdsynopsis>
|
||||
<command>consolechars</command>
|
||||
<arg choice="plain">-f <replaceable>meno-fontu</replaceable></arg>
|
||||
</cmdsynopsis></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para><computeroutput>meno-fontu</computeroutput> mô¾e by» absolútna alebo relatívna cesta k
|
||||
súboru s fontom, alebo meno súboru, pokiaµ sa nachádza v adresári <filename
|
||||
class="directory">/usr/lib/kbd/consolefonts/</filename>, èi u¾ s príponou, alebo
|
||||
bez.</para>
|
||||
|
||||
<para>Pre µah¹ie pochopenie tých obrázkov, skúste nahradi»
|
||||
<computeroutput>meno-fontu</computeroutput> re»azcom <computeroutput>t850</computeroutput> a
|
||||
sledujte výsledok na v¹etkých virtuálnych konzolách.</para>
|
||||
|
||||
<para>Naspä» k ¹tandardnému fontu sa v¾dy dostanete jedným z príkazov
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ setfont
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ consolechars -d
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>Èo sa presne deje? Program <command>setfont</command>/<command>consolechars</command>
|
||||
zavedie v¹etkých 256 obrázkov do znakového generátora
|
||||
<acronym>EGA</acronym>/<acronym>VGA</acronym> karty. Od tohto momentu sa na v¹etkých
|
||||
konzolách bude znak s <acronym>ASCII</acronym> kódom napr. 65 vykreslova» ako ¹esdesiaty
|
||||
piaty obrázok z na¹eho súboru s fontom. E¹te raz pripomínam a dvakrát podèiarkujem, ¾e font
|
||||
je v¾dy rovnaký pre v¹etky virtuálne konzoly, na ktorých zobrazuje znaky ten istý znakový
|
||||
generátor <acronym>EGA</acronym>/<acronym>VGA</acronym> karty.</para>
|
||||
|
||||
<para>Dôle¾ité je uvedomi» si, ¾e interne ide naozaj len o obrázky a tvar niektorého znaku vo
|
||||
fonte nemá niè spoloèného s jeho ASCII kódom. Ak by ste si sami vytvorili nejaký font (v
|
||||
dokumentácii ku <application>kbd</application>/<application>console-tools</application> máte
|
||||
informácie o v¹etkých formátoch), v ktorom by mal ten ¹esdesiaty piaty obrázok tvar písmena
|
||||
<computeroutput>z</computeroutput>, po jeho natiahnutí sa vám bude pri zadaní
|
||||
<keycombo><keycap>Alt</keycap><keycap>6</keycap><keycap>5</keycap></keycombo>, èo je pri
|
||||
¹tandardnom fonte písmeno <computeroutput>A</computeroutput>, zobrazova» znak
|
||||
<computeroutput>z</computeroutput>. Ale ak tento znak ulo¾íte do súboru, v tomto sa bude
|
||||
nachádza» bajt s hodnotou 65, teda písmeno <computeroutput>A</computeroutput>.</para>
|
||||
</section> <!-- console-fonts-theory -->
|
||||
|
||||
<section id="console-fonts-latin2">
|
||||
<title>Fonty iso-8859-2</title>
|
||||
|
||||
<para>Toto vyu¾íva ¹tandard <emphasis>iso-8859-2</emphasis> (a iné) - spoloèné znaky s
|
||||
<acronym>ASCII</acronym> vykreslí rovnako a znaky ¹pecifické pre tú ktorú abecedu
|
||||
<quote>namapuje</quote> na menej pou¾ívané znaky <acronym>ASCII</acronym> tabuµky. Kam
|
||||
presne ktorá norma umiestòuje znaky s diakritikou, nás zaujíma» nemusí (pokiaµ nevytvárame
|
||||
vlastné fonty), hlavné je, ¾e napr. anglický text je nezmenený (angliètina má v¹etky znaky
|
||||
spoloèné so slovenèinou) a slovenský text u¾ viac neobsahuje hlúpe znaky, ktoré so
|
||||
slovenèinou nemajú niè spoloèné.</para>
|
||||
|
||||
<para>Slovenské (iso-8859-2) fonty, ktoré sú súèas»ou balíkov <application>kbd</application>
|
||||
a <application>console-tools</application>:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>lat2-{08,10,12,14,16}, lat2a-16, iso02.{08,14,16}</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>lat2-{08,10,12,14,16}, lat2u-16, iso02.f{08,14,16}</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>Na zavedenie fontu pou¾ite príkaz
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ setfont meno-zo-zoznamu
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ consolechars -f meno-zo-zoznamu
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>Odporúèam pou¾íva» <computeroutput>lat2a-16</computeroutput>, resp.
|
||||
<computeroutput>lat2u-16</computeroutput>. Ostatné fonty majú bezchybné zobrazovanie
|
||||
slovenských znakov, problém v¹ak nastáva pri aplikáciách, ktoré vyu¾ívajú znaky na kreslenie
|
||||
rámèekov (napr. mc).</para>
|
||||
|
||||
<para>Èo sa týka fontov <computeroutput>iso02.*</computeroutput> z balíka
|
||||
<application>kbd</application>, treba pri nich pou¾i» argument príkazu
|
||||
<command>setfont</command> <computeroutput>-m latin2u.trans</computeroutput>. Tak¾e celý
|
||||
príkaz na zavedenie niektorého z týchto fontov je:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ setfont iso02.16 -m latin2u.trans
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ consoletrans -f lat2u-16 -m iso02
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>V súbore <filename>latin2u.trans</filename> (<filename>iso02.acm</filename>) sa nachádza
|
||||
tzv. <foreignphrase>Aplication-Charset Map</foreignphrase> (<acronym>ACM</acronym>), akási
|
||||
prevodná tabuµka, ktorá obsahuje riadok pre ka¾dý znak fontu a jeho podobu v kódovaní
|
||||
UTF-8.</para>
|
||||
</section> <!-- console-fonts-latin2 -->
|
||||
|
||||
<section id="console-fonts-autoload">
|
||||
<title>Automatické zavádzanie fontov</title>
|
||||
|
||||
<para> Ak ste si na¹li svoj font, ktorý chcete pou¾íva» a ma» ho automaticky zavedený v¾dy pri
|
||||
¹tarte, nie je niè µah¹ie. Inicializaèný skript <filename>rc.sysinit</filename> robí asi
|
||||
toto: skontroluje, èi existuje súbor <filename>/etc/sysconfig/i18n</filename> a program
|
||||
(skript) <filename>/sbin/setsysfont</filename>. Ak áno, spustí
|
||||
<command>setsysfont</command>. Ten naèíta <filename>/etc/sysinfo/i18n</filename> a podµa
|
||||
premenných definovaných v tomto súbore príkazom <command>consolechars</command> alebo
|
||||
<command>setfont</command> zavedie font.</para>
|
||||
|
||||
<para>Tak¾e staèí nastavi» správne premenné v súbore <filename>/etc/sysconfig/i18n</filename>
|
||||
a skript <filename>/sbin/setsysfont</filename> urobí v¹etko za nás. Tento skript mo¾no
|
||||
spusti» kedykoµvek chcete zavies» font nastavený ako ¹tandardný pre systém.</para>
|
||||
|
||||
<para>Premenné v súbore <filename>/etc/sysinit/i18n</filename> sú (pou¾ívajte len mená súborov
|
||||
bez cesty a bez prípony!):
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
SYSFONT=lat2a-16
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
SYSFONT=lat2u-16
|
||||
SYSFONTACM=iso02
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>Skriptík <command>setsysfont</command> obsahujú oba balíky a kedykoµvek mô¾ete zavies»
|
||||
font nastavený ako systémový v súbore <filename>/etc/sysinit/i18n</filename> jednoduchým
|
||||
zadaním
|
||||
<screen>
|
||||
sh$ /sbin/setsysfont
|
||||
</screen></para>
|
||||
|
||||
<para>Podµa toho, èo sme si hovorili o tom, ¾e pre v¹etky virtuálne konzoly mô¾e by» nastavený
|
||||
len jeden spoloèný font, nemá veµký zmysel zavádza» nastavovanie fontu zvlá¹» pre ka¾dého
|
||||
u¾ívateµa. S tým súvisí aj fakt, ¾e nastavenie fontu sa vz»ahuje k danému poèítaèu, pri
|
||||
ktorom práve sedíte a nie k tomu, ku ktorému ste pripojení napr. cez
|
||||
<application>telnet</application>.</para>
|
||||
|
||||
<para>Predsa len si viem predstavi» prípad, keï niektorý z viacerých pou¾ívateµov jedného
|
||||
poèítaèa potrebuje odli¹ný font. V tom prípade mô¾e vlo¾i» príkaz na zavádzanie fontov do
|
||||
svojich skriptov, ktoré vykonáva shell pri prihlásení a odhlásení. Pre bash by to mohlo
|
||||
vyzera» takto:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>~/.bash_profile</filename>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.font ]; then
|
||||
setfont -o ~/.font gr928a-8x16
|
||||
fi
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><filename>~/.bash_logout</filename>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.font ]; then
|
||||
setfont ~/.font
|
||||
rm -f ~/.font
|
||||
fi
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>Vonkoncom to nie je ideálne rie¹enie, ale svoj úèel splní (minimálne po moment prvého
|
||||
odhlásenia). Trochu sa s tým pozabávajte, aby sa font (a rozlo¾enie kláves) menilo len pri
|
||||
prvom prihlásení a poslednom odhlásení, tie¾ setfont pod iXami nemá veµmi zmysel a tak...
|
||||
Ináè, aby bolo jasné, toto vám bude fungova» len na lokálnom stroji - zamyslite sa, preèo je
|
||||
asi <command>setfont</command> (aj <command>loadkeys</command>) zakázaný cez vzdialený
|
||||
terminál a èi by ste z toho nieèo mali, keby nebol.</para>
|
||||
|
||||
<para>Ak to s takýmto rie¹ením myslíte vá¾ne, tak skôr uva¾ujte nad modifikáciou skriptu
|
||||
<filename>/etc/profile.d/lang.sh</filename>, kde by sa kontroloval aj obsah u¾ívateµského
|
||||
súboru <filename>~/.i18n</filename> a podµa toho by sa zaviedol skript, popis rozlo¾enia
|
||||
kláves, prípadne nejaké premenné...</para>
|
||||
</section> <!-- console-fonts-autoload -->
|
||||
</section> <!-- console-fonts -->
|
||||
|
||||
<section id="console-kbd">
|
||||
<title>Slovenská klávesnica na textovej konzole</title>
|
||||
|
||||
<para>Keï je slovenský font na konzole rozbehaný a na¹e národné znaky sa zobrazujú správne, máme
|
||||
so slovenèinou problém èíslo dva - ako tam tie znaky dosta»? Keby bol napríklad tento súbor
|
||||
napísaný s diakritikou a vy by ste si ho chceli len preèíta» bez potreby následnej nav¹tevy
|
||||
psychiatra, staèilo by zavies» nejaký font so slovenskou podporou. Ale ak chcete sami pomocou
|
||||
klávesnice písa» slovenský text, potrebujete s tou klávesnicou nieèo urobi».</para>
|
||||
|
||||
<section id="console-kbd-kmap">
|
||||
<title>Popis rozlo¾enia kláves (keymap)</title>
|
||||
|
||||
<para>Adresáre <filename class="directory">/usr/lib/kbd/keymaps/i386/qwertz/</filename> a
|
||||
<filename class="directory">qwerty/</filename> obsahujú
|
||||
po nain¹talovaní balíka
|
||||
<application>kbd</application>/<application>console-tools</application> aj popisy
|
||||
slovenského rozlo¾enia kláves. Pre nás sú zaujímavé súbory
|
||||
<simplelist>
|
||||
<member><filename>sk-prog-qwerty.map.gz</filename></member>
|
||||
<member><filename>sk-qwerty.map.gz</filename></member>
|
||||
<member><filename>sk-prog-qwertz.map.gz</filename></member>
|
||||
<member><filename>sk-qwertz.map.gz</filename></member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Tieto súbory obsahujú definície rozlo¾enia kláves pre slovenský jazyk, prièom rozdiely
|
||||
medzi nimi sú v umiestnení kláves <keycap>Y</keycap> a <keycap>Z</keycap> a poète
|
||||
slovenských znakov, ktoré pomocou nich mo¾no napísa» priamo (bez màtvych kláves). Najviac sa
|
||||
na slovenský písací stroj podobá <computeroutput>sk-qwertz</computeroutput>, najmen¹ie zmeny
|
||||
oproti americkej klávesnici sú zase v
|
||||
<computeroutput>sk-prog-qwerty</computeroutput>.</para>
|
||||
|
||||
<para>Súbory v adresári <filename class="directory">/usr/lib/kbd/keymaps/i386/include/
|
||||
</filename> obsahujú popis základných rozlo¾ení kláves (<computeroutput>azerty
|
||||
</computeroutput>, <computeroutput>qwerty</computeroutput>, <computeroutput>qwertz
|
||||
</computeroutput>), prídavných kláves (<computeroutput>keypad</computeroutput>,
|
||||
<computeroutput>windowkeys</computeroutput>), prípadne problémových kláves (<computeroutput>
|
||||
delete</computeroutput>, <computeroutput>backspace</computeroutput>, <computeroutput>ctrl
|
||||
</computeroutput>). Súbory <filename>linux-*.inc.gz</filename> sú ¹pecifické pre linux
|
||||
(teda nie pre jazyk). Sú to napr. kµúèe (<keycap>F1</keycap>-<keycap>F12</keycap>,
|
||||
kombinovaním s <keycap>Ctrl</keycap> a <keycap>Shift</keycap> a¾ po <keycap>F48</keycap>),
|
||||
<keycombo><keycap>Shift</keycap> <keycap>PgUp</keycap></keycombo> a <keycombo><keycap>Shift
|
||||
</keycap> <keycap>PgDown</keycap></keycombo>, atï.</para>
|
||||
|
||||
<para>Keymapy <filename>*.inc.gz</filename> nepopisujú kompletné rozlo¾enie klávesnice, ale
|
||||
len niektorých jej èastí. Vyu¾ívajú sa pri pripájaní
|
||||
(<foreignphrase>include</foreignphrase>) zo súborov <filename>*.map.gz</filename>, èo je
|
||||
výhodné jednak z dôvodu ¹etrenia miestom na disku, ale hlavne jednoduch¹ej konfigurácie
|
||||
klávesnice. Napríklad zmenou jedného riadku v súbore s rozlo¾ením
|
||||
<computeroutput>sk-qwerty</computeroutput> mô¾me dosta» rozlo¾enie qwertz, prípadne (to asi
|
||||
vyu¾ijete) jednoducho odstavi» znaky <keycap>Euro</keycap> a <keycap>Cent</keycap>, ktoré
|
||||
(zatiaµ?) nepotrebujeme a zbytoène nám zaberajú znaky <keycap>E</keycap> a
|
||||
<keycap>C</keycap>.</para>
|
||||
|
||||
<para>Na zavedenie súboru s popisom rozlo¾enia kláves slú¾i nasledovný príkaz:
|
||||
<cmdsynopsis>
|
||||
<command>loadkeys</command>
|
||||
<arg choice="plain"><replaceable>nazov</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
kde <computeroutput>nazov</computeroutput> mô¾e by» absolútna alebo relatívna cesta ku
|
||||
keymap súboru, alebo meno súboru, pokiaµ sa nachádza v adresári <filename class="directory">
|
||||
/usr/lib/kbd/keymaps/</filename>, èi u¾ s príponou, alebo bez.</para>
|
||||
|
||||
<para>©tandardné slovenské popisy rozlo¾enia kláves nájdeme vo vy¹¹ie spomínaných
|
||||
<filename>*.map.gz</filename> súboroch. Ak sa chcete vráti» k ¹tandardnému rozlo¾eniu,
|
||||
príkaz
|
||||
<screen>
|
||||
sh$ loadkeys -d
|
||||
</screen>
|
||||
zavedie pôvodné, ktoré je ulo¾ené v súbore <filename>defkeymap.map.gz</filename> niekde
|
||||
medzi ostatnými keymap súbormi. Predtým ale nikdy nezabudnite zmeni» re¾im slovenskej
|
||||
klávesnice na <acronym>US</acronym> znaky, tzn. <keycap>1</keycap> dáva
|
||||
<computeroutput>1</computeroutput> a nie <computeroutput>+ </computeroutput> atï. Ak by ste
|
||||
predsa zabudli, je mo¾né, ¾e klávesy, kde sa nachádzali slovenské znaky, nebudú fungova»
|
||||
správne (v skutoènosti budú fungova» správne, ale vám sa to nebude páèi»). Vtedy znovu
|
||||
zaveïte predchadzájucú keymapu (na nefunkèné klávesy pou¾ite <keycap>AltGr</keycap> - pravý
|
||||
<keycap>Alt</keycap>) a klávesou <keycap>Pause/Break</keycap> v¹etko napravíte. Potom mô¾ete
|
||||
zavies» defkeymap bez nebezpeèenstva straty svojprávnosti.</para>
|
||||
|
||||
<para>Pokiaµ sa vám nepáèi ani jeden zo ¹tandardných keymap súborov pre slovenèinu, èo je
|
||||
pravdepodobné vïaka riadku
|
||||
<programlisting>
|
||||
include "euro"
|
||||
</programlisting>
|
||||
v include súboroch <filename>qwerty-layout.inc.gz</filename> aj
|
||||
<filename>qwertz-layout.inc.gz</filename>, mô¾ete kµudne pozmeni» existujúci súbor s popisom
|
||||
rozlo¾enia kláves, prípadne vytvori» nový. Nebojte sa, je to zlo¾ité! Nebudem to tu
|
||||
rozpisova» v¹etko, prezrite si zopár kmap súborov, preèítajte manuálovú stránku keymaps(5) a
|
||||
mali by ste to µahko pochopi».</para>
|
||||
|
||||
<para>My si povieme len o základných veciach, ktore nám pomô¾u pozmeni» existujúce kmap súbory
|
||||
s popismi slovenských klávesníc, aby ste si poradili s (mne známymi) komplikáciami, alebo
|
||||
upravili rozlo¾enie kláves podµa svojho gusta.</para>
|
||||
</section> <!-- console-kbd-kmap -->
|
||||
|
||||
<section id="console-kbd-include">
|
||||
<title>Include a nesprávna funkcia kláves `E' a `C'</title>
|
||||
|
||||
<para>Problém s <keycap>E</keycap> a <keycap>C</keycap> je spôsobený zavedením jednotnej meny
|
||||
v európskej únii. Na vine nie je ani tak <acronym>EU</acronym>, ale niekto, kto symboly pre
|
||||
<keycap>Euro</keycap> a <keycap>Cent</keycap> umiestnil na <keycombo><keycap>AltGr</keycap>
|
||||
<keycap>E</keycap></keycombo> a <keycombo><keycap>AltGr</keycap><keycap>C</keycap>
|
||||
</keycombo>, èo sú na¹e obyèajné <keycap>E</keycap> a <keycap>C</keycap>. Toti¾, národné
|
||||
klávesnice sú väè¹inou rie¹ené tak, ¾e po zavedení súboru naïalej funguje americké
|
||||
rozlo¾enie a na prepínanie do národného re¾imu sa pou¾íva klávesa <keycap>Pause</keycap>,
|
||||
alebo mô¾me zadáva» národné klávesy pri súèasnom dr¾aní klávesy <keycap>AltGr</keycap>
|
||||
(pravý <keycap>Alt</keycap>). Súbor <filename>euro.inc</filename>, ktorý definuje tieto dva
|
||||
problémové symboly, je pripojený zo súboru <filename>qwerty-layout.inc</filename>, ktorý
|
||||
zase pripájajú samotné slovenské keymapy (<filename>sk-qwerty</filename>,
|
||||
<filename>sk-prog-qwertz</filename>, …). A takto sa dostala definícia
|
||||
<keycap>Euro</keycap> a <keycap>Cent</keycap> na slovenskú klávesnicu.</para>
|
||||
|
||||
<para>Rie¹enie je brutálne jednoduché - zeditujete <filename>qwerty-layout.inc</filename>
|
||||
(alebo <filename>qwertz-layout.inc</filename>) a odkomentujete znakom
|
||||
<computeroutput>#</computeroutput> riadok
|
||||
<programlisting>
|
||||
include "euro"
|
||||
</programlisting></para>
|
||||
</section> <!-- console-kbd-include -->
|
||||
|
||||
<section id="console-kbd-keycode">
|
||||
<title>Keycode a definovanie kláves</title>
|
||||
|
||||
<para>Predchádzajúci problém s eurom mo¾no vyrie¹i» aj definovaním znakov <keycap>E</keycap> a
|
||||
<keycap>C</keycap> v samotnom súbore <filename>sk-qwerty.kmap.gz</filename> (alebo inom,
|
||||
ktorý pou¾ívate) pomocou slova <computeroutput>keycode</computeroutput>:
|
||||
<programlisting>
|
||||
keycode 18 = e
|
||||
keycode 46 = c
|
||||
</programlisting></para>
|
||||
|
||||
<para>V keymap súboroch je pre ka¾dú klávesu (alebo aspoò pre ka¾dú, ktorú chceme
|
||||
predefinova») jeden riadok pribli¾ne tohto razenia:
|
||||
<programlisting>
|
||||
keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two...
|
||||
</programlisting></para>
|
||||
|
||||
<para>Èíslo za <computeroutput>keycode</computeroutput> oznaèuje urèitú klávesu a re»azce za
|
||||
<computeroutput>=</computeroutput> hovoria o tom, aký znak má ovládaè klávesnice generova»
|
||||
pri stlaèení tejto klávesy, a to buï samotnej, alebo v kombinácii so ¹peciálnymi klávesmi
|
||||
<keycap>Shift</keycap>, <keycap>AltGr</keycap>, <keycap>Control</keycap>,
|
||||
<keycap>Alt</keycap>, <keycap>ShiftL</keycap>, <keycap>ShiftR</keycap>,
|
||||
<keycap>Ctrl</keycap> a <keycap>CtrlR</keycap>. To nám dáva 256 mo¾ných znakov na ka¾dú
|
||||
klávesu.</para>
|
||||
|
||||
<para>Väè¹inou sa pozmeòuje len prvých 16 kombinácií modifikátorov. To je význam riadku
|
||||
<programlisting>
|
||||
keymaps 0-15
|
||||
</programlisting>
|
||||
na zaèiatku kmap súborov.</para>
|
||||
|
||||
<para>V nasledujúcej zozname je týchto 16 kombinácií (po riadkoch):
|
||||
<simplelist columns="4" type="horiz">
|
||||
<member>¾iadny</member>
|
||||
<member><keycap>Shift</keycap></member>
|
||||
<member><keycap>AltGr</keycap></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>AltGr</keycap></keycombo></member>
|
||||
<member><keycap>Control</keycap></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>Control</keycap></keycombo></member>
|
||||
<member><keycombo><keycap>AltGr</keycap><keycap>Control</keycap></keycombo></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>AltGr</keycap><keycap>Control</keycap>
|
||||
</keycombo></member>
|
||||
<member><keycap>Alt</keycap></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>Alt</keycap></keycombo></member>
|
||||
<member><keycombo><keycap>AltGr</keycap><keycap>Alt</keycap></keycombo></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>AltGr</keycap><keycap>Alt</keycap>
|
||||
</keycombo></member>
|
||||
<member><keycombo><keycap>Control</keycap><keycap>Alt</keycap></keycombo></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>Control</keycap><keycap>Alt</keycap>
|
||||
</keycombo></member>
|
||||
<member><keycombo><keycap>AltGr</keycap><keycap>Control</keycap><keycap>Alt</keycap>
|
||||
</keycombo></member>
|
||||
<member><keycombo><keycap>Shift</keycap><keycap>AltGr</keycap><keycap>Control</keycap>
|
||||
<keycap>Alt</keycap></keycombo></member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Z hµadiska slovenskej klávesnice sú dôle¾ité len prvé ¹tyri - prvé dva sú zvyèajne
|
||||
nezmenené americké znaky, napr. <computeroutput>two at</computeroutput>, èo je
|
||||
<keycap>2</keycap> <keycap>@</keycap>, a druhé dva sú znaky slovenskej abecedy, ktoré bude
|
||||
ovládaè klávesnice posiela» aplikáciám ak pri stlaèení tejto klávesy budeme súèasne dr¾a»
|
||||
klávesu <keycap>AltGr</keycap> (pravý <keycap>Alt</keycap>), napr. <computeroutput>lcaron
|
||||
two</computeroutput>, èo je na¹e <keycap>µ</keycap> <keycap>2</keycap>.</para>
|
||||
|
||||
<para>Aby ste mohli vklada» slovenské znaky, nemusíte celý èas pridr¾iava»
|
||||
<keycap>AltGr</keycap> nosom, ale mô¾ete pou¾i» <keycap>Pause/Break</keycap>, ktorý v
|
||||
kontexte s národnými klávesnicami funguje ako <keycap>AltGr Lock</keycap>. Chápte to tak, ¾e
|
||||
keï sa prepnete do slovenského re¾imu stlaèením <keycap>Pause/Break</keycap>, prvé a druhé
|
||||
dva re»azce v ka¾dom riadku keycode sa vymenia, napr.
|
||||
<programlisting>
|
||||
two at lcaron two -> lcaron two two at
|
||||
</programlisting></para>
|
||||
|
||||
<para>Vtedy mô¾ete pou¾i» <keycap>AltGr</keycap> na zadávanie znakov americkej klávesnice,
|
||||
alebo sa opätovným stlaèením <keycap>Pause/Break</keycap> prepnú» spät do US re¾imu.</para>
|
||||
|
||||
<para>Riadok pre klávesu s kódom 41 (znaky <keycap>`</keycap> a <keycap>~</keycap>), má v
|
||||
súbore <filename>sk-qwerty.map.gz</filename> nasledovný tvar:
|
||||
<programlisting>
|
||||
keycode 41 = grave asciitilde dead_diaeresis dead_circumflex ...
|
||||
</programlisting></para>
|
||||
|
||||
<para>Mne osobne sa nepáèi, ¾e sú tu umiestnené màtve klávesy <keycap>dead_diaeresis</keycap>
|
||||
(dve bodky nad znakom) a <keycap>dead_circumflex</keycap> (mäkèeò), preto¾e ich nepotrebujem
|
||||
--- <keycap>ä</keycap> aj <keycap>ô</keycap> na slovenskej klávesnici predsa je. A keby aj
|
||||
nebolo, na ich písanie mô¾em kµudne pou¾i» màtvy kláves mäkèeò. O tom si bli¾¹ie povieme v
|
||||
èasti o compose. Teraz chcem ma» na tomto mieste znaky <keycap>;</keycap> (semicolon) a
|
||||
<keycap>°</keycap> (degree) tak, ako je to na popiske mojej klávesnice. Zmením teda riadok
|
||||
takto:
|
||||
<programlisting>
|
||||
keycode 41 = grave asciitilde semicolon degree ...
|
||||
</programlisting></para>
|
||||
|
||||
<para>(Ináè, ten stupeò asi nie je stupeò, ale màtvy znak krú¾ku nad písmenom, napr. v èe¹tine
|
||||
nad u, ale taký kláves je nám fakt naniè.)</para>
|
||||
|
||||
<para>Názvy znakov, ktoré sa pou¾ívajú pri definovaní jednotlivých kláves si mô¾ete pre znaky
|
||||
<acronym>ASCII</acronym> zisti» v súbore <filename>us.map.gz</filename>. Èíselné kódy
|
||||
v¹etkých kláves vám vypµuje program
|
||||
<cmdsynopsis>
|
||||
<command>showkey</command>
|
||||
</cmdsynopsis></para>
|
||||
|
||||
<para>Pravidlá pre názvy znakov ¹pecifických pre slovenèinu v kmap súboroch:
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Prvé písmeno v názve urèuje <acronym>ASCII</acronym> znak, pre ktorý chceme pou¾i»
|
||||
diakritiku.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>K nemu pridáme identifikátor diakritického znamienka:
|
||||
<simplelist>
|
||||
<member>caron --- mäkèeò</member>
|
||||
<member>acute --- då¾eò</member>
|
||||
<member>diaeresis --- dve bodky nad</member>
|
||||
<member>circumflex --- vokáò</member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Napríklad:
|
||||
<simplelist>
|
||||
<member>scaron = <keycap>¹</keycap></member>
|
||||
<member>uacute = <keycap>ú</keycap></member>
|
||||
<member>Ocircumflex = <keycap>Ô</keycap></member>
|
||||
</simplelist></para>
|
||||
</listitem>
|
||||
</orderedlist></para>
|
||||
|
||||
<para>Názvy ïal¹ích znakov ¹pecifických pre slovenèinu:
|
||||
<simplelist>
|
||||
<member>0xa7 --- <keycap>§</keycap> (paragraf)</member>
|
||||
<member>degree --- <keycap>°</keycap> stupeò</member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Pre správnu interpretáciu identifikátorov znakov s diakritikou je nutné na zaèiatku kmap
|
||||
súboru urèi» kódovú stránku, pre ktorú bude urèený tento popis rozlo¾enia kláves. Ide o to,
|
||||
¾e ten istý znak mô¾e ma» v rôznych kódových stránkach iný <acronym>ASCII</acronym> kód.
|
||||
Implicitná hodnota je iso-8859-1, teda pre slovenské keymapy je nutné vlo¾i» riadok:
|
||||
<programlisting>
|
||||
charset "iso-8859-2"
|
||||
</programlisting></para>
|
||||
|
||||
<para>E¹te jeden príklad: ak chcete pou¾íva» slovenské rozlo¾enie
|
||||
<computeroutput>qwertz</computeroutput> a americké rozlo¾enie
|
||||
<computeroutput>qwerty</computeroutput>, potrebujete vymeni» znaky <keycap>Y</keycap> a
|
||||
<keycap>Z</keycap>:
|
||||
<programlisting>
|
||||
keycode 21 = y Y z Z
|
||||
keycode 44 = z Z y Y
|
||||
</programlisting></para>
|
||||
|
||||
<para>Na prvý pohµad to mô¾e fungova» dobre, ale problém sa prejaví pri zapnutom <keycap>Caps
|
||||
Lock</keycap> - znaky <keycap>Y</keycap> a <keycap>Z</keycap> sa stále pí¹u malými
|
||||
písmenami. Pri písaní popisov rozlo¾ení znakov mo¾no takýto problém o¹etri» pridaním písmena
|
||||
<computeroutput>+</computeroutput> pred ka¾dé písmeno v keycode riadku danej klávesy.
|
||||
Písmeno <computeroutput>+</computeroutput> urèuje nasledovnému písmenu atribút
|
||||
<foreignphrase>letter</foreignphrase>, teda sa bude pri stlaèenom <keycap>Caps Lock</keycap>
|
||||
písa» veµké písmeno. V¹etky písmená a-z, A-Z majú tento atribút priradený automaticky, ale
|
||||
to len v prípade, ¾e majú keycode riadok tvaru:
|
||||
<programlisting>
|
||||
keycode 21 = y
|
||||
</programlisting></para>
|
||||
|
||||
<para>V na¹om prípade teda musíme priradi» tento atribút v¹etkým znakom explicitne. Tak¾e,
|
||||
koneèná úprava keymapy bude:
|
||||
<programlisting>
|
||||
keycode 21 = +y +Y +z +Z
|
||||
keycode 44 = +z +Z +y +Y
|
||||
</programlisting></para>
|
||||
|
||||
<para>Pre výmenu písmen toto rie¹enie funguje spoµahlivo, bohu¾iaµ, e¹te stále neexistuje
|
||||
spôsob, ktorým by sa dalo dosiahnu» napríklad písanie veµkých písmen s diakritikou pri
|
||||
zapnutom <keycap>Caps Lock</keycap> jednoduchým stláèaním ich kláves, ako je to v slovenskom
|
||||
popise rozlo¾enia kláves pre <application>X Window System</application>.</para>
|
||||
|
||||
</section> <!-- console-kbd-keycode -->
|
||||
|
||||
<section id="console-kbd-dead">
|
||||
<title>Màtve klávesy a sekvencie compose</title>
|
||||
|
||||
<para>S màtvymi klávesami súvisia v kmap súboroch riadky tvaru
|
||||
<programlisting>
|
||||
compose 'c1' 'c2' to 'c3'
|
||||
</programlisting></para>
|
||||
|
||||
<para>Predstavme si màtve znaky ako úplne obyèajné znaky s tým rozdielom, ¾e ovládaè
|
||||
klávesnice ich neposiela aplikáciám, ale zostanú niekde visie», kým z klávesnice nepríde
|
||||
ïal¹í znak. Ovládaè klávesnice nepo¹le ani tento, ale pokúsi sa spoji» ho s predchádzajúcim
|
||||
màtvym znakom a a¾ výsledok spojenia pustí ïalej. No, a ako má to spojenie uskutoèni», to mu
|
||||
presne hovoria riadky <computeroutput>compose</computeroutput> v keymap súboroch.</para>
|
||||
|
||||
<para>V nasledujúcej tabuµke je zoznam màtvych znakov pou¾ívaných v Slovenèine, spolu s
|
||||
významom a znakom, ktorým sa oznaèujú v compose sekvenciách.
|
||||
<table id="console-kbd-dead.tables.dead">
|
||||
<title id="console-kbd-dead.tables.dead.title">Màtve klávesy</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Názov</entry>
|
||||
<entry>Význam</entry>
|
||||
<entry>Compose</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>dead_acute</entry>
|
||||
<entry>då¾eò</entry>
|
||||
<entry>\'</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>dead_circumflex</entry>
|
||||
<entry>mäkèeò</entry>
|
||||
<entry>^</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>dead_diaeresis</entry>
|
||||
<entry>dve bodky nad</entry>
|
||||
<entry>"</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table></para>
|
||||
|
||||
<procedure>
|
||||
<title>Postup pri písani compose sekvencií</title>
|
||||
|
||||
<step>
|
||||
<para>Tvárte sa, ¾e ste úplný mumák a neviete, ¾e daný znak s diakritikou e¹te nemáte
|
||||
definovaný a jednoducho chcete zada» tento znak pou¾itím màtvej klávesy.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Ako¾e omylom (hi-hi) napí¹te na zaèiatok riadku slovo
|
||||
<computeroutput>compose</computeroutput>.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Prvý bude compose znak màtvej klávesy (podµa tabuµky <xref
|
||||
linkend="console-kbd-dead.tables.dead" endterm="console-kbd-dead.tables.dead.title">),
|
||||
napríklad <computeroutput>\'</computeroutput>.
|
||||
</para>
|
||||
|
||||
<para>Druhý je znak, s ktorým chcete màtvu klávesu kombinova», napríklad
|
||||
<computeroutput>A</computeroutput>.</para>
|
||||
|
||||
<para>Za kµúèovým slovom <computeroutput>to</computeroutput> nasleduje výsledok spojenia
|
||||
màtvej klávesy a znaku bez diakritiky, teda <computeroutput>Á</computeroutput>.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<para>Je praktické ma» pri vytváraní compose sekvencií zavedený slovenský font, aby ste
|
||||
výsledok mohli hneï kontrolova». Veµkou pomocou je tie¾ mo¾nos» príkazu
|
||||
<command>loadkeys</command> èíta» zo ¹tandardného vstupu. Napríklad:
|
||||
<screen>
|
||||
sh$ loadkeys
|
||||
include "/usr/lib/kbd/keymaps/i386/include/windowkeys.map.gz"
|
||||
keycode 41 = grave asciitilde semicolon dead_diaeresis
|
||||
compose '"' 'a' to 'ä'
|
||||
# ukonèenie zadávania: EOF - Ctrl-D
|
||||
sh$
|
||||
</screen></para>
|
||||
|
||||
<para>Popis aktuálneho rozlo¾enia kláves mô¾ete ulo¾i» do súboru príkazom
|
||||
<screen>
|
||||
sh$ dumpkeys > subor
|
||||
</screen></para>
|
||||
|
||||
<para>Ak nemáte zavedený slovenský popis rozlo¾enia kláves, musíte zadáva» tieto znaky ako Alt
|
||||
sekvencie, poprípade vklada» ich hex kódy v tvare <keycode>0xed</keycode> pre
|
||||
<keycap>í</keycap>. Výpis znakov aktuálneho fontu spolu s ich hex kódmi vám urobí program
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<cmdsynopsis>
|
||||
<command>showfont</command>
|
||||
</cmdsynopsis></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<cmdsynopsis>
|
||||
<command>showcfont</command>
|
||||
</cmdsynopsis></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>E¹te raz na¹a compose sekvencia a nejaké navy¹e:
|
||||
<programlisting>
|
||||
compose '\'' 'A' to 'Á' # `dlhé A' cez då¾eò
|
||||
compose '^' 'O' to 'Ô' # definícia `O s vokáòom' cez mäkèeò
|
||||
compose '^' 'a' to 'ä' # definícia `¹irokého a' cez mäkèeò,
|
||||
compose '^' 'A' to 0x84 # ...preto nepotrebujeme dead_diaeresis
|
||||
</programlisting></para>
|
||||
|
||||
<para>Mimochodom, v súbore <filename>/usr/lib/kbd/keymaps/compose/compose.latin2</filename>
|
||||
máte zoznam compose sekvencií pre normu iso-8859-2.</para>
|
||||
</section> <!-- console-kbd-dead -->
|
||||
|
||||
<section id="console-kbd-autoload">
|
||||
<title>Automatické zavádzanie keymap súboru</title>
|
||||
|
||||
<para>Na nastavenie rozlo¾enia klávesnice, ktoré chceme zavies» pri ¹tarte systému, nám slú¾i
|
||||
súbor <filename>/etc/sysconfig/keyboard</filename>. Pre Slováka ako repa by mal vyzera»
|
||||
minimálne takto:
|
||||
<programlisting>
|
||||
KEYTABLE=sk-qwerty # zavedie rozlo¾enie kláves sk-qwerty
|
||||
KBCHARSET=iso-8859-2 # ...a spomínaný súbor compose.latin2
|
||||
</programlisting></para>
|
||||
|
||||
<para>Nastavenie klávesnice pri ¹tarte má na starosti skript keytable, ktorý je volaný priamo
|
||||
z <filename>rc.sysinit</filename>, tak¾e netreba vytvára» linky v adresároch pre runlevel
|
||||
3/multiuser, prípadne 5/X.</para>
|
||||
|
||||
<para>V dokumentácii k <application>initscripts</application> sa pí¹e: <quote>Ak ulo¾íte popis
|
||||
rozlo¾enia kláves (pou¾itím <command>dumpkeys</command>) do súboru
|
||||
<filename>/etc/sysconfig/console/default.kmap</filename>, zavedie sa pri ¹tarte systému e¹te
|
||||
pred montovaním/kontrolou súborových systémov. To mô¾e by» u¾itoèné, ak potrebujete zada»
|
||||
heslo roota v prípade problémov. Musí to by» <quote>dumpnutý</quote> popis rozlo¾enia kláves
|
||||
a nie skopírovaný súbor z <filename class="directory">/usr/lib/kbd/keytables/</filename>,
|
||||
preto¾e tie èasto e¹te vkladajú iné popisy z tejto adresárovej ¹truktúry.</quote></para>
|
||||
|
||||
<para>Po namontovaní súborových systémov, v prípade, ¾e existuje spustiteµný súbor
|
||||
<filename>/etc/rc.d/init.d/keytable</filename> a adresár
|
||||
<filename class="directory">/usr/lib/kbd/keymaps/</filename>, vykoná sa príkaz
|
||||
<screen>
|
||||
sh# /etc/rc.d/init.d/keytable start
|
||||
</screen></para>
|
||||
|
||||
<para>Tento u¾ zavedie popis rozlo¾enia kláves tak, ako to máte urèené premennými v súbore
|
||||
<filename>/etc/sysconfig/keyboard</filename>, preto nemusíte vytvára» odkazy v jednotlivých
|
||||
<filename class="directory">rc[1-5].d/</filename> adresároch.</para>
|
||||
|
||||
<para>To, èo sme si hovorili o zmene fontu pri prihlásení nejakého u¾ívateµa na virtuálnej
|
||||
konzole, sa dá aplikova» aj na rozlo¾enie kláves. Úplne najjednoduch¹ie rie¹enie (ktoré sa
|
||||
pri prvom odhlásení po¹le do kríkov) je asi takéto:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>~/.bash_profile</filename>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.keymap ]; then
|
||||
dumpkeys > ~/.keymap
|
||||
loadkeys gr.map
|
||||
fi
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><filename>~/.bash_logout</filename>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.keymap ]; then
|
||||
loadkeys ~/.keymap
|
||||
rm -f ~/.keymap
|
||||
fi
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
</section> <!-- console-kbd-autoload -->
|
||||
</section> <!-- console-kbd -->
|
||||
|
||||
<section id="console-summary">
|
||||
<title>Zhrnutie nastavení konzoly</title>
|
||||
|
||||
<para>Pokiaµ som sa niekde nesekol, tak minimálne v distribúciách <systemitem
|
||||
class="osname">RedHat</systemitem> a <systemitem class="osname">Mandrake</systemitem> by po
|
||||
týchto zmenách mala do pohody za¹lapa» slovenská podpora (fonty + klávesnica).
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>/etc/sysconfig/i18n</filename>:</term>
|
||||
<listitem>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
SYSFONT=lat2a-16
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
SYSFONT=lat2u-16
|
||||
SYSFONTACM=iso02
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><filename>/etc/sysconfig/keyboard</filename>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<programlisting>
|
||||
KEYTABLE=sk-qwertz
|
||||
KBCHARSET=iso-8859-2
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>Tie¾, ak zadávate rootovské heslo s pou¾itím iného rozlo¾enia kláves ako je ¹tandardné
|
||||
(<computeroutput>us</computeroutput>), vlo¾te si jeho popis do súboru
|
||||
<filename>/etc/sysconfig/console/default.kmap</filename>. Pozor, nesmiete len tak skopírova»
|
||||
súbor, alebo vytvori» link! Ak chcete pou¾i» napríklad rozlo¾enie
|
||||
<computeroutput>sk-qwertz</computeroutput>, urobte to takto:
|
||||
<screen>
|
||||
sh$ loadkeys sk-qwertz
|
||||
sh# dumpkeys >/etc/sysconfig/console/default.kmap
|
||||
</screen></para>
|
||||
|
||||
<para>Ak chcete nastavi» slovenský font a klávesnicu len jednorazovo, tieto príkazy by to mali
|
||||
dokáza»:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ setfont lat2a-16
|
||||
sh$ loadkeys sk-qwertz
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ consolechars -f lat2u-16 -m iso02
|
||||
sh$ loadkeys sk-qwertz
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
|
||||
<para>...a naspä» na ¹tandardné nastavenia:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>kbd</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ setfont
|
||||
sh$ loadkeys -d
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>console-tools</application>:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
sh$ consolechars -d
|
||||
sh$ loadkeys -d
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
</section> <!-- console-summary -->
|
||||
</section> <!-- console -->
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="gettext">
|
||||
<title id="gettext.title">Prekladanie aplikácií do slovenčiny</title>
|
||||
|
||||
<para>V podaktorých operačných systémoch sa to robí tak, že výrobca si v každej krajine objedná
|
||||
firmu, ktorá preloží hlášky priamo v zdrojovom kóde a nanovo ho skompiluje. Výhodou je, že
|
||||
preklad je draho zaplatený a teda poväčšinou profesionálny, konzultovaný s linguistami a inými
|
||||
istami. Horšie je, že občas sa niekto so zdrojákmi hrá viac ako je nutné (alebo nechtiac preloží
|
||||
kúsok z nich) a potom národné verzie majú iné vlastnosti (a padavosť) ako verzia pôvodná.
|
||||
Navyše, ak sa pritrafí nejaká chybička prekladu, oprava nehrozí do najbližšej major
|
||||
verzie.</para>
|
||||
|
||||
<para>V <acronym>GNU</acronym> operačných systémoch sa to robí tak, že výrobca napíše aplikáciu,
|
||||
pričom na začiatok pridá desať riadkov kódu a každú hlášku uzavrie do makra. Potom to
|
||||
skompiluje, jedným príkazom vytvorí súbor so všetkými hláškami v programe a celé to vypustí.
|
||||
Ktokoľvek -- od Eskimáka s laptopom v iglu, cez Slováka s 386 v garzónke, až po arabského emira
|
||||
s dvojprocesorovou Alphou v desaťposchodovom paláci -- potom jednoducho preloží reťazce v
|
||||
spomínanom súbore, spustí jeden príkaz a má danú aplikáciu pripravenú pre svoj jazyk. Nastaví
|
||||
premennú, spustí pôvodnú binárku -- tú istú, ktorá predtým bežala po anglicky -- a už je
|
||||
doma!</para>
|
||||
|
||||
<para>Neviem, ktorý postup sa vám páči viac, ale ak nechcete naštvať nejakého Albánca alebo
|
||||
nebodaj Kolumbijčana, používajte v Linuxe ten druhý.</para>
|
||||
|
||||
<section id="gettext.gettext">
|
||||
<title id="gettext.gettext.title">GNU gettext</title>
|
||||
|
||||
<para>Knižnica <application><acronym>GNU</acronym> gettext</application> je tým zázračným
|
||||
nástrojom, ktorý tak uľahčuje úpravu aplikácií pre krajiny, kde sa nehovorí po anglicky. Na
|
||||
niektorých systémoch ju nájdete ako samostatnú knižnicu (libintl.a), na iných je priamo
|
||||
súčasťou štandardnej knižnice jazyka <acronym>C</acronym>. Obsahuje zo desať funkcií, z
|
||||
ktorých sa používajú asi tak dve. To je však dôležité len pre programátorov, ktorý pri návrhu
|
||||
a tvorbe softvéru nesmú zabudnúť používať tieto funkcie.</para>
|
||||
|
||||
<para>Pre prekladateľa sú dôležitejšie programy, ktoré sa nachádzajú v balíku gettext. Je to
|
||||
niekoľko nástrojov, pomocou ktorých možno prevádzať <acronym>PO</acronym> súbory na súbory
|
||||
<acronym>MO</acronym> a naopak, spájať <acronym>PO</acronym> súbory, atď. Keď je aplikácia
|
||||
napísaná s použitím funkcií knižnice gettext a používa ich správne, potom je vďaka týmto
|
||||
nástrojom možný preklad do ľubovoľného jazyka.</para>
|
||||
|
||||
</section> <!-- gettext.gettext -->
|
||||
|
||||
<section id="gettext.writing">
|
||||
<title>Písanie aplikácie s podporou pre gettext</title>
|
||||
|
||||
<para>V ďalších kapitolách budeme používať nasledovný príklad zdrojového kódu v jazyku
|
||||
<acronym>C</acronym>.</para>
|
||||
|
||||
<programlisting>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
char *suffix;
|
||||
time_t curtime;
|
||||
|
||||
if (argc > 2)
|
||||
suffix = "s";
|
||||
else
|
||||
suffix = "";
|
||||
printf("Got %d argument%s.\n", argc - 1, suffix);
|
||||
|
||||
if (argc > 1) {
|
||||
puts("List of arguments:");
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (i == 1)
|
||||
suffix = "st";
|
||||
else if (i == 2)
|
||||
suffix = "nd";
|
||||
else if (i == 3)
|
||||
suffix = "rd";
|
||||
else
|
||||
suffix = "th";
|
||||
printf("\t%d%s %s\n", i, suffix, argv[i]);
|
||||
}
|
||||
}
|
||||
|
||||
curtime = time(NULL);
|
||||
printf("Exiting at: %s", ctime(&curtime));
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
<section id="gettext.writing.setlocale">
|
||||
<title>Funkcia <function>setlocale()</function></title>
|
||||
|
||||
<para>Aby funkcie z knižnice <application>gettext</application>, aký preklad majú hľadať, teda
|
||||
akú hodnotu má premenná <envar>LC_MESSAGES</envar>, musíme na začiatku programu zavolať
|
||||
funkciu <function>setlocale()</function>.</para>
|
||||
|
||||
<para>Syntax funkcie <function>setlocale()</function> je nasledovný:
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>char *<function>setlocale</function></funcdef>
|
||||
<paramdef>int <parameter>category</parameter></paramdef>
|
||||
<paramdef>const char *<parameter>locale</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis></para>
|
||||
|
||||
<para>Všetko, čo o tejto funkcii potrebujete vedieť, nájdete v jej manuálovej stránke. Pre
|
||||
potreby tohto dokumentu si povieme len toľko, že prakticky každý (rozumný) program obsahuje
|
||||
niekde na začiatku riadok.
|
||||
<programlisting>
|
||||
setlocale(LC_ALL, NULL);
|
||||
</programlisting></para>
|
||||
|
||||
<para>Takto postavená funkcia nastaví miestne nastavenia programu podľa premenných
|
||||
<envar>LC_*</envar>. Funkcie knižnice <application>gettext</application> sa potom tejto
|
||||
istej funkcie opýtajú:
|
||||
<programlisting>
|
||||
ext = setlocale(LC_MESSAGES, NULL);
|
||||
</programlisting>
|
||||
a dostanú odpoveď typu <computeroutput>sk_SK.ISO-8859-2</computeroutput>. V tom prípade sa
|
||||
budú hľadať súbory s preloženými hláškami v adresároch
|
||||
<simplelist>
|
||||
<member>
|
||||
<filename class="directory">/usr/share/locale/sk_SK.ISO-8859-2/LC_MESSAGES/</filename>
|
||||
</member>
|
||||
<member>
|
||||
<filename class="directory">/usr/share/locale/sk_SK/LC_MESSAGES/</filename>
|
||||
</member>
|
||||
<member>
|
||||
<filename class="directory">/usr/share/locale/sk/LC_MESSAGES/</filename>
|
||||
</member>
|
||||
</simplelist>
|
||||
pričom časť <filename class="directory">/usr/share/locale/</filename> sa dá zmeniť (o tom
|
||||
potom).</para>
|
||||
|
||||
<para>V ktorom z týchto adresárov (v tomto poradí) nájde súbor so svojimi hláškami, z toho ich
|
||||
bude ťahať.</para>
|
||||
</section> <!-- gettext.writing.setlocale -->
|
||||
|
||||
<section id="gettext.writing.functions">
|
||||
<title>Funkcia <function>textdomain()</function></title>
|
||||
|
||||
<para>Ale adresár stačiť nebude. Potrebujeme určiť aj meno súboru, v ktorom sa hlášky
|
||||
nachádzajú. Na to slúži funkcia <function>textdomain()</function>. Jej syntax je:
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>char *<function>textdomain</function></funcdef>
|
||||
<paramdef>const char *<parameter>domainname</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis></para>
|
||||
|
||||
<para>Argument <parameter>domainname</parameter> udáva meno takzvanej
|
||||
<emphasis>domény</emphasis> programu. Kedykoľvek nastane požiadavka na preložený reťazec,
|
||||
tento sa bude hľadať v súbore <filename>domainname.mo</filename> v niektorom zo spomínaných
|
||||
adresárov.</para>
|
||||
|
||||
<para>Doplňme si teda do nášho programu všetko, čo je potrebné na to, aby vedel, v ktorom
|
||||
adresári a konkrétne v ktorom súbore sa majú hľadať preložené hlášky.</para>
|
||||
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <libintl.h> // hlavičkový súbor knižnice gettext
|
||||
#include <locale.h> // setlocale()
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
char *suffix;
|
||||
time_t curtime;
|
||||
|
||||
setlocale(LC_ALL, NULL); // nastaví informácie o miestnych nastaveniach
|
||||
textdomain("example"); // nastaví "doménu" programu
|
||||
|
||||
if (argc > 2)
|
||||
suffix = "s";
|
||||
else
|
||||
|
||||
...
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</section> <!-- gettext.writing.domainname -->
|
||||
|
||||
<section>
|
||||
<title>Funkcia <function>gettext()</function></title>
|
||||
|
||||
<para>Aj keď už vieme, v ktorom súbore nájdeme preložené hlásenia programu, samé od seba sa
|
||||
za behu nedoplnia. Navyše, mali by sme určiť, ktoré presne hlášky chceme mať preložené.
|
||||
Napríklad, debugovacie informácie určené len pre programátorov sa zväčša neprekladajú.
|
||||
Formátovacie reťazce pre printf, ktoré neobsahujú text na preloženie, tiež nie je nutné
|
||||
ukazovať prekladateľovi.</para>
|
||||
|
||||
<para>Ktoré reťazce majú byť dostupné prekladateľom na preklad, o tom rozhoduje programátor.
|
||||
Samozrejme, niekedy na niečo pozabudne a často sa stáva, že prekladatelia sa musia stať na
|
||||
chvíľu progamátormi, aby bol daný program "preložiteľný" do ich jazyka.</para>
|
||||
|
||||
</section> <!-- gettext.writing.gettext -->
|
||||
</section> <!-- gettext.writing -->
|
||||
|
||||
<section>
|
||||
<title>Formát PO súboru</title>
|
||||
|
||||
<para></para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Komentáre</title>
|
||||
|
||||
<para></para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>PO Template</title>
|
||||
|
||||
<para></para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Vytváranie POT súboru</title>
|
||||
|
||||
<para></para>
|
||||
</section>
|
||||
</section>
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
|
||||
|
||||
<!ENTITY % skhowto.draft "IGNORE">
|
||||
|
||||
<!ENTITY skhowto.intro SYSTEM "intro.sgml">
|
||||
<!ENTITY skhowto.locales SYSTEM "locales.sgml">
|
||||
<!ENTITY skhowto.console SYSTEM "console.sgml">
|
||||
<!ENTITY skhowto.xwindow SYSTEM "xwindow.sgml">
|
||||
<!ENTITY skhowto.kernel SYSTEM "kernel.sgml">
|
||||
<!ENTITY skhowto.unicode SYSTEM "unicode.sgml">
|
||||
<!ENTITY skhowto.gettext SYSTEM "gettext.sgml">
|
||||
<!ENTITY skhowto.apps SYSTEM "apps.sgml">
|
||||
<!ENTITY skhowto.tricks SYSTEM "tricks.sgml">
|
||||
]>
|
||||
|
||||
<article id="index" lang="sk">
|
||||
<articleinfo>
|
||||
<title>Slovak-HOWTO</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Ján</firstname><othername>'judas'</othername><surname>Tomka</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<releaseinfo>verzia 4 (Blanka)</releaseinfo>
|
||||
<pubdate>5. február 2002</pubdate>
|
||||
|
||||
<keywordset>
|
||||
<keyword>Slovakia</keyword> <keyword>Slovensko</keyword> <keyword>slovenèina</keyword>
|
||||
<keyword>keyboard</keyword> <keyword>klávesnica</keyword> <keyword>kbd</keyword>
|
||||
<keyword>font</keyword> <keyword>písmo</keyword> <keyword>console</keyword>
|
||||
<keyword>konzola</keyword> <keyword>GNU</keyword> <keyword>Linux</keyword>
|
||||
</keywordset>
|
||||
|
||||
<abstract>
|
||||
<para>Tento dokument poskytuje informácie týkajúce sa problematiky miestnych nastavení v
|
||||
prostredí operaèných systémov GNU/Linux s ohµadom na potreby slovenského u¾ívateµa.</para>
|
||||
</abstract>
|
||||
</articleinfo>
|
||||
|
||||
&skhowto.intro;
|
||||
|
||||
&skhowto.locales;
|
||||
|
||||
&skhowto.console;
|
||||
|
||||
&skhowto.xwindow;
|
||||
|
||||
&skhowto.kernel;
|
||||
|
||||
<![%skhowto.draft;[
|
||||
&skhowto.unicode;
|
||||
]]>
|
||||
|
||||
<![%skhowto.draft;[
|
||||
&skhowto.gettext;
|
||||
]]>
|
||||
|
||||
&skhowto.apps;
|
||||
|
||||
&skhowto.tricks;
|
||||
|
||||
</article>
|
||||
|
||||
<!--
|
||||
pou¾ité kódové mená:
|
||||
Klotilda, ?, Malvína, Bla/nka
|
||||
|
||||
kódové mená ïal¹ích verzií:
|
||||
Justína, Matilda, Hermína, ®ofia, Gizela, Gertrúda, ®elmíra, Sidónia, Lujza, Jozefína, Anabela,
|
||||
Rozália, Eugénia, Hortenzia, Ur¹uµa, Aurélia, Agnesa, Filoména, *** Mária Jana ***
|
||||
-->
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="intro">
|
||||
<title>Úvodné informácie</title>
|
||||
|
||||
<section id="intro-licence">
|
||||
<title>Licencia</title>
|
||||
|
||||
<para>Áno, mô¾ete èíta» tento súbor, a to aj na komerèné uèely!</para>
|
||||
|
||||
<para>Autori nenesú zodpovednos» za materiálnu èi psychickú ujmu spôsobenú èitateµovi, jeho
|
||||
rodinným príslu¹níkom, domácim a hospodárskym zvieratám, prípadne poèítaèovému
|
||||
zariadeniu.</para>
|
||||
|
||||
<para>Toto je <quote>free</quote> dokument --- mô¾ete ho ¹íri» a/alebo modifikova» v súlade s
|
||||
podmienkami licencie GNU Free Documentation Licence, ktorej znenie nájdete na adrese <ulink
|
||||
url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft</ulink>.</para>
|
||||
|
||||
<para>Autorom pôvodného Slovak-HOWTO je Ján Ondrej (SAL). Tento dokument z neho obsahuje: názov
|
||||
a návody pre Joe, MC a Sambu. V¹etko bolo ukradnuté so súhlasom autora.</para>
|
||||
</section> <!-- intro-licence -->
|
||||
|
||||
<section id="intro-contrib">
|
||||
<title>Aktuálna verzia a prispievanie</title>
|
||||
|
||||
<para>Ak nájdete v tomto súbore nieèo, èo je nezlúèiteµné s va¹im linuxovým presvedèením,
|
||||
napí¹te najskôr do diskusie linux, potom sk-i18n, dajte príspevok na www.linux.sk a
|
||||
poohovárajte ma na #sklug. V prípade, ¾e vás to neprejde, skontrolujte, èi máte aktuálnu
|
||||
verziu a, samozrejme, a¾ nakoniec, dajte mi vedie». Adresy sú:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>Aktuálna verzia <ulink url="http://slovencina.linux.sk/howto/">
|
||||
http://slovencina.linux.sk/howto</ulink></simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>Priania a s»a¾nosti <ulink url="mailto:judas@linux.sk">judas@linux.sk</ulink>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>Na tieto adresy sa tie¾ obracajte, ak máte nieèo, èo by nemalo chýba» v Slovak-HOWTO.
|
||||
</para>
|
||||
|
||||
<para>Nadácia Pomô¾ a skonaj prispela na dopísanie èasti o klávesnici v iXoch sama sebe èiastkou
|
||||
500 000,- Sk, v televízii Pomô¾ a skonaj i v rovnomennom èasopise boli zverejnené
|
||||
inzeráty, politická strana <acronym>PAS</acronym> sa sna¾í o konsenzus v tejto otázke a v¹etci
|
||||
pijú minerálku <productname>Pomô¾ a skonaj</productname>. Tigre, nosoro¾ce a lúène koníky boli
|
||||
pokrstené, a predsa sa s kapitolou o klávesnici v iXoch niè nedeje. Mimochodom, sme
|
||||
najèítanej¹ie Slovak-HOWTO na svete!</para>
|
||||
|
||||
<para>Pri prispievaní sa skúste riadi» týmito pravidlami:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>Opravy robte v¾dy v sgml formáte (DTD linuxdoc), ktorý je primárnym formátom
|
||||
pri tvorbe tohto dokumentu. Je tie¾ mo¾né posiela» èistý text, ale opravy vo formáte
|
||||
<filename>.ps.gz</filename> rad¹ej nechajte tak... Príspevky pí¹te, pokiaµ mo¾no, s
|
||||
diakritikou (norma iso-8859-2). To aj v prípade, ¾e meníte verziu bez
|
||||
diakritiky.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>Ak je to nieèo väè¹ie, dajte mi najskôr vedie», èo chystáte, preto¾e je mo¾né,
|
||||
¾e u¾ na tom niekto maká a teda buï na to zabudnete, alebo to skúsite dorobi» s danou
|
||||
osobou. (Vzhµadom na to, ¾e zatiaµ sa do tohto dokumentu dostalo asi 20 riadkov
|
||||
cudzieho textu, zdá sa mi predchádzajúca veta maximálne smie¹na. Ha-ha, zasmial som
|
||||
sa...)</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>Va¹e meno a adresa budú automaticky zverejnené spolu s va¹im príspevkom. Ak si
|
||||
to ne¾eláte, musíte o to výslovne po¾iada». Takisto, autor príspevku u¾ jeho zaslaním
|
||||
implicitne súhlasí s aplikáciou licencie tohto dokumentu na èas», ktorej je
|
||||
autorom.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>V Czech-HOWTO sa hovorí: <quote>Kdy¾ u¾ nìkdo podobný dokument ète, dìlá to z
|
||||
nutnosti a ne pro své pobavení.</quote> No hej, ale Èesi jedia aj olomoucké syreèky...
|
||||
</simpara>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
</section> <!-- intro-contrib -->
|
||||
|
||||
<section id="intro-authors">
|
||||
<title>Osoby a obsadenie</title>
|
||||
|
||||
<para>Mená autorov návodov na lokalizáciu konkrétnych aplikácií sa nachádzajú priamo v kapitole
|
||||
<xref linkend="apps" endterm="apps.title">, prípadne <xref linkend="tricks"
|
||||
endterm="tricks.title">.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara><author><firstname>Ján</firstname><othername>'judas'</othername>
|
||||
<surname>Tomka</surname></author> -- Zodpovedný vedúci.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><author><firstname>¥ubomír</firstname><othername>'salo'</othername>
|
||||
<surname>Sedláèik</surname></author> -- ksh/csh/tcsh, grammar bugfixes.</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section> <!-- intro-authors -->
|
||||
|
||||
</section> <!-- intro -->
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="kernel">
|
||||
<title>Slovenèina a linuxový kernel</title>
|
||||
|
||||
<section id="kernel-kmap">
|
||||
<title>Kompilácia kernelu so slovenskou klávesnicou</title>
|
||||
|
||||
<para>Je veµmi jednoduché zmeni» rozlo¾enie kláves, s ktorým bude jadro vá¹ho operaèného systému
|
||||
skompilované. Ak pou¾ijete program loadkeys s voµbou príkazového riadku
|
||||
<computeroutput>--mktable <keymapfile></computeroutput>, tento vám vygeneruje
|
||||
<quote>zdrojový kód</quote> súboru <filename><keymapfile></filename>. Ten ulo¾te do súboru
|
||||
<filename>drivers/char/defkeymap.c</filename> v adresárovej ¹truktúre zdrojového kódu Linuxu.
|
||||
<screen>
|
||||
sh# cd /usr/src/linux
|
||||
sh# loadkeys --mktable sk-qwerty > drivers/char/defkeymap.c
|
||||
</screen></para>
|
||||
|
||||
<para>Toto je akási náhrada za <filename>/etc/sysconfig/console/default.kmap</filename> s tým
|
||||
rozdielom, ¾e va¹e rozlo¾enie bude zavedené u¾ od úplného ¹tartu systému. Tak¾e v prípade
|
||||
problémov s initscriptami (alebo ¹tarte zo záchrannej diskety) budete ma» zavedené svoje
|
||||
rozlo¾enie v ka¾dom prípade. Pozor, nekompilujte si kernel so slovenským rozlo¾ením len preto,
|
||||
¾e ¾ijete na Slovensku! Na to slú¾i príkaz <command>loadkeys</command>. Pou¾ite toto rie¹enie,
|
||||
len ak bezpodmieneène potrebujete slovenské rozlo¾enie pri zadávaní rootovho hesla alebo tak
|
||||
podobne.</para>
|
||||
</section> <!-- kernel-kmap -->
|
||||
|
||||
<section id="kernel-fat">
|
||||
<title>Diakritika v názvoch súborov na fat partíciách</title>
|
||||
|
||||
<para>Ak chcete pristupova» spod Linuxu na fat/vfat a ma» prípadnú diakritiku v názvoch súborov
|
||||
na takýchto partíciách, pri konfigurácii kernelu (pred kompilovaním) zvoµte tieto nastavenia v
|
||||
èasti <menuchoice> <guimenu>Filesystems</guimenu> <guimenuitem>Native Language
|
||||
Support</guimenuitem> </menuchoice>: <simplelist> <member><systemitem class="macro">
|
||||
CONFIG_NLS_CODEPAGE_852</systemitem> --- Codepage 852</member> <member>
|
||||
<systemitem class="macro">CONFIG_NLS_ISO8859_2</systemitem> --- ISO 8859-2 (Latin 2)
|
||||
</member></simplelist></para>
|
||||
|
||||
<para>Pri mountovaní fat/vfat mô¾ete potom uvies» voµbu
|
||||
<computeroutput>codepage=852</computeroutput>.</para>
|
||||
|
||||
<para>Voµba <computeroutput>codepage</computeroutput> nastavuje kódovú stránku pre prevod znakov
|
||||
krátkych mien na súborových systémoch <acronym>FAT</acronym> a <acronym>VFAT</acronym>.
|
||||
Implicitne má codepage hodnotu 437.</para>
|
||||
</section> <!-- kernel-fat -->
|
||||
</section> <!-- kernel -->
|
||||
|
|
@ -0,0 +1,534 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="locales">
|
||||
<title id="locales.title">Miestne nastavenia</title>
|
||||
|
||||
<section>
|
||||
<title>Princípy miestnych nastavení</title>
|
||||
|
||||
<para>Podpora miestnych nastavení je dnes mimoriadne doležitým faktorom, ktorý charakterizuje
|
||||
jednotlivé operačné systémy. Časy, keď boli ľudia štastní, že to niečo píše, sú nenávratne
|
||||
preč a používatelia vyžadujú podporu svojich miestnych nastavení. V GNU systémoch je táto
|
||||
podpora implementovaná priamo do štandardnej knižnice jazyka C -- GNU libc. Táto podpora je
|
||||
navrhnutá tak, aby zohľadňovala všetky požiadavky kladené na nastavenia pre akúkoľvek krajinu
|
||||
a akýkoľvek jazyk.</para>
|
||||
|
||||
<section>
|
||||
<title>Ciele a prostriedky</title>
|
||||
|
||||
<para> Rôzne krajiny a kultúry majú odlišné pravidlá komunikácie. Tieto pravidlá môžu byť
|
||||
malého rozsahu, napr. formát dátumu a času, až po veľmi koplexné ako je jazyk, ktorým
|
||||
hovoria.</para>
|
||||
|
||||
<para>Internacionalizácia softvéru znamená programovať ho tak, aby bol schopný pracovať s
|
||||
použivateľovými miestnymi nastaveniami. V ISO C pracuje internacionalizácia v zmysle
|
||||
locales. Každé locale (miestne nastavenia) špecifikuje skupinu pravidiel, jedno pravidlo pre
|
||||
každý učel. Užívateľ si zvolí skupinu pravidiel špecifikovaním locale (pomocou systémových
|
||||
premenných).</para>
|
||||
|
||||
<para>Všetky programy dedia nastavené locale v rámci ich prostredia. Pod podmienkou, že
|
||||
programy sú napísané tak, že akceptujú nastavené locales, môžu sa riadiť pravidlami, ktoré
|
||||
uprednostňuje používateľ.</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Kategórie a ich funkcie</title>
|
||||
|
||||
<para> Táto časť popisuje jednotlivé premenné, ktoré ovplyvňujú miestne nastavenia a ktorými
|
||||
sa riadia aj funkcie knižnice glibc.</para>
|
||||
|
||||
<para>Nastavenie premennej prostredia sa robí pomocou príkazu shellu
|
||||
<screen>
|
||||
bash$ export LC_PREMENNA=sk
|
||||
|
||||
tcsh$ setenv LC_PREMENNA sk
|
||||
</screen></para>
|
||||
|
||||
<para><envar>LC_PREMENNA</envar> je jedna z nasledujúcich:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><envar>LC_COLLATE</envar> --- Triedenie reťazcov. Nastavením tejto premennej
|
||||
možno prinútiť aplikácie, napr. sort, ls a iné, aby pri porovnávaní reťazcov brali do
|
||||
úvahy miestne rozloženie jednotlivých písmen v abecede. Slovenčina má napríklad hneď
|
||||
niekoľko znakov, ktoré by pri triedení podľa číselnej hodnoty znaku spôsobovali
|
||||
problémy. Slovenské nastavenia triedenia povedia funkciam strcoll a strxfrm, že
|
||||
napríklad ch je jedno písmeno a nasleduje hneď za h a nie za c, že široké a nasleduje
|
||||
za dlhým `a' a to zase za obyčajným `a'. Skúste si to na príkaze sort. Zadajte
|
||||
písmená cc, ch, hh, potom zmeňte <envar>LC_COLLATE</envar> príkazom
|
||||
<screen>
|
||||
bash$ export LC_COLLATE=sk
|
||||
|
||||
tcsh$ setenv LC_COLLATE sk
|
||||
</screen></para>
|
||||
|
||||
<para>Skúste to so sort znovu a porovnajte výsledok...</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><envar>LC_CTYPE</envar> --- Klasifikácia a prevod znakov, multibyte. Správne
|
||||
nastavenie tejto premennej je nutné pre korektné rozlišovanie znakov abecedy
|
||||
jednotlivých jazykov, určenie číslic, tzv. bielych znakov, prevod malých písmen na
|
||||
veľké, atď. Najvhodnejšie je túto premennú nenastavovať a tým umožniť, aby bola jej
|
||||
hodnota prebratá od premenných <envar>LC_ALL</envar> alebo <envar>LANG</envar>
|
||||
(viď ďalej). Ak ale nechcete používať slovenské nastavenia, len mať správne zobrazené
|
||||
slovenské fonty a funkčnú slovenskú klávesnicu na konzole aj pod iXami, nastavte iba
|
||||
túto premennú.</para>
|
||||
|
||||
<warning>
|
||||
<title>HEJ!</title>
|
||||
<simpara>Ja to ešte raz zopakujem! Vždy si buďte stopercentne istí, že máte túto
|
||||
premennú nastavenú (buď cez <envar>LC_ALL</envar>, <envar>LANG</envar> alebo
|
||||
priamo), lebo inak nemá zmysel čítať ďalej! Ono <quote>klasifikácia a prevod
|
||||
znakov</quote> neznie nijako lákavo, ale vedzte, že je to sakramentsky dôležité
|
||||
pre život slovenských písmeniek vo vašom Linuxe!</simpara>
|
||||
</warning>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><simplelist type="inline"><member><envar>LC_MONETARY</envar></member>
|
||||
<member><envar>LC_NUMERIC</envar></member></simplelist> --- Formát peňažných a
|
||||
číselných hodnôt. Umožňuje meniť skupinu nastavení, ktoré sa použijú pri formátovaní
|
||||
peňažných hodnôt alebo všetkých ostatných číselných hodnôt. Sú to desatinná čiarka,
|
||||
oddeľovač tisícov, zoskupovanie číslic, znamienka pre kladné a zaporné hodnoty,
|
||||
atď.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><envar>LC_TIME</envar> --- Formátovanie dátumu a času. Nastavenia oddeľovačov
|
||||
medzi hodinami, minútami a sekundami, názvy dní, poradie rok, mesiac a deň v dátume,
|
||||
...</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><envar>LC_MESSAGES</envar> --- Výber jazyka, použitého užívateľským rozhraním na
|
||||
preklad hlášok programov. Toto je presne tá premenná, ktorá prinúti aplikácie hovoriť
|
||||
po slovensky. Viď ďalšie kapitoly.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>S prekladom hlásení programov, hlavne s umiestnením súborov s preloženými reťazcami,
|
||||
súvisí premenná <envar>NLSPATH</envar>. Mala by obsahovať dvojbodkami oddelený zoznam
|
||||
adresárov, v ktorých sa budú hľadať <filename>.mo</filename> súbory pre miestne nastavenia
|
||||
dané premennou <envar>LC_MESSAGES</envar>. Premennú <envar>NLSPATH</envar> je však
|
||||
potrebné nastavovať len vo výnimočných prípadoch, pretože aplikácie hľadajú preklady svojich
|
||||
hlásení v štandardných adresároch pre tieto súbory.</para>
|
||||
|
||||
<para>Okrem týchto premenných bolo implementovaných niekoľko ďalších, ktoré zatiaľ nie sú
|
||||
zdokumentované (libc.info alebo locale(1,5,7)). Ich význam je zrejmý z názvu, takže uvediem
|
||||
aj svoju dedukciu.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara><envar>LC_PAPER</envar> --- Formát papiera. V našich zemepisných šírkach sa
|
||||
napríklad používa formát A4, v Amerike je to Letter, atď. Pozor, táto premenná
|
||||
neobsahuje priamo názov formátu, ale (tak, ako všetky <envar>LC_</envar> premenné),
|
||||
skratku miestneho nastavenia, teda u nás to bude "sk". Ak by sme chceli používať formát
|
||||
Letter, museli by sme túto premennú nastaviť na kód miestneho nastavenia niektorej z
|
||||
krajín, ktorá používa takýto formát, napríklad "us". V tomto prípade je nutné
|
||||
nainštalovať balík s miestnymi nastaveniami pre túto krajinu (locales-us).</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LC_NAME</envar> --- Formát mena a priezviska. U nás má každý dve mená,
|
||||
píšu sa v poradí meno, priezvisko. V Rusku majú zase tri mená v poradí meno,
|
||||
otcovo-meno, priezvisko. V Maďarsku majú dve mená tak ako u nás, ale píšu sa v opačnom
|
||||
poradí. O tom je táto premenná. Asi...</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LC_ADDRESS</envar> --- Spôsob zápisu adresy. Poradie ulice a popisného
|
||||
čísla domu, ZIP kód, PSČ apod.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LC_TELEPHONE</envar> --- Formát telefónnych a faxových čísel. Určuje
|
||||
zoskupovanie číslic, ich oddelovanie, počet čísel predvoľby, ...</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LC_MEASUREMENT</envar> --- Miery. Jednotky hmotnosti, objemu, teploty a
|
||||
dĺžky, používané v tej ktorej krajine. Program napísaný v USA bude pravdepodobne počítať
|
||||
s galónmi vody, ale ak je správne napísaný, s premennou <envar>LC_MEASUREMENT</envar>
|
||||
nastavenou na <quote>sk</quote> bude zobrazovať litre v správnom pomere. To isté platí
|
||||
napríklad pre prevod teploty vo Fahrenheitovej stupnici na stupne Celsia.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LC_IDENTIFICATION</envar> --- Az apád, tak toto neviem. Rodné číslo?
|
||||
Číslo sociálneho poistenia? Číslo topánok?</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Ďalšie premenné</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara><envar>LC_ALL</envar> --- Ak je táto premenná nastavená, použije sa jej hodnota
|
||||
pre všetky vyššie spomenuté premenné, bez ohľadu na ich hodnotu.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LANG</envar> --- Nastavenie tejto premennej sa použije len pre tie
|
||||
premenné, ktoré nemajú priradenú žiadnu hodnotu.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara><envar>LANGUAGE</envar> --- Alternatívne miestne nastavenia. Táto premenná môže
|
||||
obsahovať usporiadaný zoznam kódov miestnych nastavení oddelených dvojbodkami. Súbory s
|
||||
prekladmi hlášok programov sa budú hľadať v poradí, v akom sú určené v tomto zozname. Ak
|
||||
sa nepodarí nájsť súbor s preloženými hláškami programu v jednom jazyku, použije sa
|
||||
súbor pre nasledujúci jazyk v zozname <envar>LANGUAGE</envar>. Navyše, ak sa súbor pre
|
||||
prvý jazyk aj nájde, ale niektorý reťazec z neho nie je preložený, nepoužije sa pôvodný
|
||||
(anglický), ale najskôr sa pokúsi nájsť preklad daného reťazca v súbore pre ďalší jazyk
|
||||
v zozname <envar>LANGUAGE</envar>. To je maximálne výhodné pre ľudí, ktorí okrem svojho
|
||||
jazyka ovládajú nejaký iný lepšie ako angličtinu, v ktorej sú zvyčajne programy
|
||||
originálne napísané. Napríklad Slovák by mohol mať nastavené
|
||||
<computeroutput>LANGUAGE="sk:cz"</computeroutput> a Szolvák z juhu zase
|
||||
<computeroutput>LANGUAGE="hu:sk"</computeroutput>.</simpara>
|
||||
|
||||
<caution>
|
||||
<title>Bacha!</title>
|
||||
<simpara>Premenná <envar>LANGUAGE</envar> ovplyvňuje len premennú
|
||||
<envar>LC_MESSAGES</envar>, preto je pre správnu funkciu nutné nastaviť aj ostatné
|
||||
premenné (minimálne <envar>LC_CTYPE</envar>).</simpara>
|
||||
</caution>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><envar>LINGUAS</envar> --- Táto premenná nemá špeciálny význam z hľadiska GNU libc,
|
||||
ale zvykne sa používať pri inštalácii programov (zo zdrojákov). Medzerami oddelený
|
||||
zoznam kódov miestnych nastavení určuje jazyky, pre ktoré si užívateľ želá inštalovať
|
||||
preklady reťazcov aplikácie. Príklad:
|
||||
<screen>
|
||||
bash$ export LINGUAS="sk cz"
|
||||
bash$ ./configure
|
||||
bash$ make install
|
||||
</screen></para>
|
||||
|
||||
<simpara>Tieto príkazy skompilujú a nainštalujú aplikáciu s podporou slovenčiny a češtiny.
|
||||
Inštalačné skripty obvykle tiež kontrolujú obsah premenných <envar>LANG</envar> a
|
||||
<envar>LC_ALL</envar>, tieto ale môžu obsahovať len jeden kód miestnych
|
||||
nastavení.</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><envar>RPM_INSTALL_LANG</envar> --- Častejšie ako zo zdrojového kódu sa aplikácie
|
||||
inštalujú z rôznych balíkov (rpm, deb, ...). Kvôli šetreniu miestom na disku (a logike
|
||||
-- málokto ovláda tridsať rečí) je v RPM4 možné určiť jazyk, ktorého preložené hlášky sa
|
||||
budú inštalovať. Preto odporúčam do súboru <filename>.bash_profile</filename>
|
||||
(<filename>.login</filename>) užívateľa, ktorý inštaluje balíky (root), vložiť
|
||||
nasledovný riadok:
|
||||
<screen>
|
||||
bash$ export RPM_INSTALL_LANG=sk
|
||||
|
||||
tcsh$ setenv RPM_INSTALL_LANG "sk"
|
||||
</screen></para>
|
||||
|
||||
<simpara>Ak sa vám nebodaj stane taká vec, že nainštalujete celý operačný systém a až
|
||||
potom sa dozviete o tejto premennej (tak, ako sa to stalo aj mne), skúste skript uvedený
|
||||
v časti <xref linkend="apps-rpm4">.</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Priorita premenných</title>
|
||||
|
||||
<para>Miestne nastavenia sa určujú zo spomenutých premenných, pričom tieto sa vyhodnocujú v
|
||||
tomto poradí:
|
||||
<simplelist>
|
||||
<member><envar>LANGUAGE</envar> --- ovplyvňuje len <envar>LC_MESSAGES</envar>
|
||||
</member>
|
||||
<member><envar>LC_ALL</envar></member>
|
||||
<member><envar>LC_*</envar></member>
|
||||
<member><envar>LANG</envar></member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>To znamená asi toľko, že keď raz nastavíte <envar>LC_ALL</envar>, jednotlivé
|
||||
premenné <envar>LC_*</envar> sa už neberú do úvahy. Na druhej strane, ak máte
|
||||
napríklad nastavené len niektoré z <envar>LC_*</envar>, ostatné sa nastavia na hodnotu
|
||||
premennej <envar>LANG</envar>.</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Kódy miestnych nastavení</title>
|
||||
|
||||
<para>Premenné, ktoré ovplyvňujú miestne nastavenia, sa napĺňajú kódmi miestnych nastavení.
|
||||
Kódy miestnych nastavení sú reťazce, ktorých formát sa riadi niekoľkými pravidlami.
|
||||
Všeobecný tvar je:
|
||||
<synopsis>
|
||||
jazyk[_územie[.kódovanie]][@modifikátor]
|
||||
</synopsis></para>
|
||||
|
||||
<para><envar>jazyk</envar> je napr. <constant>sk</constant> pre slovenčinu,
|
||||
<constant>cs</constant> pre češtinu, <constant>hu</constant> pre maďarčinu, územie je
|
||||
<constant>SK</constant> pre Slovensko, <constant>CZ</constant> pre Českú republiku,
|
||||
<constant>HU</constant> pre Maďarsko, kódovanie je <constant>ISO-8859-2</constant> pre
|
||||
všetky stredoeurópske jazyky (je možne použiť niekoľko formátov na zadanie kódovania) a
|
||||
modifikátor služi na povolenie alebo zakázanie niektorých funkcií. Tie sú dané v definíciach
|
||||
miestnych nastavení. Napríklad, pre Veľkú Britániu je modifikátorom reťazec
|
||||
<constant>euro</constant> a pri jeho použití sa ako peňažná mena bude používať euro namiesto
|
||||
libry. To znamená, že sa musí použiť kódovanie <constant>iso-8859-15</constant>, ktoré
|
||||
definuje znaky euro a cent.</para>
|
||||
|
||||
<para>Príklady kódov miestnych nastavení (každý z týchto reťazcov je možné priradiť premenným
|
||||
miestnych nastavení, ale najčastejšie sa používajú len dvojpísmenkové skratky v poslednom
|
||||
stĺpci):
|
||||
<table>
|
||||
<title>Príklady kódov miestnych nastavení</title>
|
||||
<tgroup cols="4" align="left" colsep="1" rowsep="1">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>sk_SK.ISO-8859-2</entry>
|
||||
<entry>sk_SK</entry>
|
||||
<entry></entry>
|
||||
<entry>sk</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>cs_CZ.ISO-8859-2</entry>
|
||||
<entry>cs_CZ@-ch</entry>
|
||||
<entry>cs@-ch</entry>
|
||||
<entry>cs</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>en_GB.iso8859</entry>
|
||||
<entry>en_GB</entry>
|
||||
<entry>en@euro</entry>
|
||||
<entry>en</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>ja_JP.ujis</entry>
|
||||
<entry>ja_JP.EUC</entry>
|
||||
<entry>ja_JP</entry>
|
||||
<entry>ja</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table></para>
|
||||
|
||||
<para>Nemali by sme zabudnúť na dve štandardné locales, ktoré sa použijú, ak nie sú systémové
|
||||
premenné nastavené a programy ich používajú do doby, kým sa inicializuje lokalizácia.
|
||||
Tvrdím, že sa použijú obe, pretože momentálne sú totožné, ale v budúcnosti sa môžu v tejto
|
||||
oblasti štandardy ISO C a POSIX odlišovať a potom to bude záležať na konfigurácii systému.
|
||||
<simplelist>
|
||||
<member><constant>C</constant> --- nastavenia podľa štandardu ISO C.</member>
|
||||
<member><constant>POSIX</constant> --- nastavenia podľa štandardu POSIX. V súčasnosti
|
||||
je to alias pre nastavenia <constant>C</constant>.</member>
|
||||
</simplelist></para>
|
||||
</section>
|
||||
</section> <!-- locales-principles -->
|
||||
|
||||
<section id="locales-slovakia">
|
||||
<title>Miestne nastavenia pre Slovensko</title>
|
||||
|
||||
<para>V prvom rade treba nainštalovať balík s podporou miestnych nastavení, ktorý má názov
|
||||
<application>locales</application> a tiež balík s podporou priamo pre Slovensko ---
|
||||
<application>locales-sk</application>. Ak máte záujem používať aj podporu pre nejaký iný jazyk
|
||||
(na našom území je aktuálna najmä čeština a maďarčina), musíte tiež nainštalovať balíky pre
|
||||
tieto jazyky.</para>
|
||||
|
||||
<para>V druhom rade si musíte nainštalovať balíky s podporou miestnych nastavení a priamo
|
||||
slovenčiny (sú to <application>locales</application> a
|
||||
<application>locales-sk</application>).</para>
|
||||
|
||||
<para>V ďalšom kroku si nezabudnite nainštalovať balíky <application>locales</application> a
|
||||
<application>locales-sk</application>. Takisto, pre každý jazyk, ktorý sa chystáte používať,
|
||||
si nainštalujte balík s podporou miestnych nastavení.</para>
|
||||
|
||||
<para>V prípade problémov s miestnymi nastaveniami sa držte predchádzajúcich troch krokov. Bez
|
||||
týchto balíkov vám to totiž šlapať nebude!!!</para>
|
||||
|
||||
<section>
|
||||
<title>Súbory s miestnymi nastaveniami</title>
|
||||
|
||||
<para>Prejdime sa teraz trochu po našich adresároch. Prvý navštívime <filename
|
||||
class="directory">/usr/share/locale/sk</filename>. Na prvý pohľad vidno, že adresár a
|
||||
súbory v tomto adresári majú mená totožné s premennými, o ktorých sme si hovorili. Je to
|
||||
preto, lebo práve z týchto súborov sa načítajú nastavenia, keď je daná premenná nastavená na
|
||||
hodnotu <constant>sk</constant>. Okrem nich tu môže byť ešte súbor
|
||||
<filename>charset</filename>, ktorý obsahuje len jeden riadok s reťazcom
|
||||
<computeroutput>iso-8859-2</computeroutput>. Ten hovorí, aké kódovanie znakov sa má použiť
|
||||
pre dané miestne nastavenia.</para>
|
||||
|
||||
<para>Všetky súbory v tomto adresári sú binárne dáta a adresár <envar>LC_MESSAGES</envar>
|
||||
obsahuje súbory, ktorých mená sú mená niektorých balíkov nainštalovaných na vašom systéme, s
|
||||
príponou mo. Sú to preklady reťazcov z jednotlivých aplikácií. O nich si povieme neskôr.
|
||||
Teraz by sme mohli zistiť, čo vlastne obsahujú súbory <envar>LC_*</envar>.</para>
|
||||
|
||||
<para>Presuňme sa do adresára <filename class="directory">/usr/share/i18n/</filename>. Tu, v
|
||||
textovom súbore <filename>sk_SK</filename> v podadresári <filename
|
||||
class="directory">locales/</filename> sa konečne nachádzajú slovenské miestne nastavenia v
|
||||
čitateľnej (a editovateľnej) forme. Súbory v tomto adresári majú presne danú štruktúru,
|
||||
ktorá je popísaná v manuálovej stránke locale(5). Pre bežného používateľa nemá zmysel meniť
|
||||
nastavenia v tomto súbore, keďže ide o štandardné nastavenia, ktoré sa používajú na celom
|
||||
Slovensku. Ale, proti Gustovi žiadna putika! Ak sa teda rozhodnete zmeniť niečo v tomto
|
||||
súbore, musíte aktualizovať súbory v prvom spomínanom adresári <filename
|
||||
class="directory">/usr/share/locales/sk/</filename> príkazom, ktorý údaje v súbore
|
||||
<filename>sk_SK</filename> skompiluje a uloží do súborov
|
||||
<simplelist type="inline">
|
||||
<member><envar>LC_COLLATE</envar></member>
|
||||
<member><envar>LC_CTYPE</envar></member>
|
||||
<member>...</member>
|
||||
</simplelist>
|
||||
<programlisting>
|
||||
sh$ localedef -i sk_SK -f ISO-8859-2 sk_SK
|
||||
</programlisting></para>
|
||||
|
||||
<para>V podadresári <filename class="directory">/usr/share/i18n/charmaps/</filename> sa
|
||||
nachádzajú súbory s popismi jednotlivých kódovani znakov. Pre Slovensko je aktuálny
|
||||
<filename>ISO-8859-2</filename> (čo je aj obsah spomínaneho súboru
|
||||
<filename>charset</filename>).</para>
|
||||
|
||||
<para>V adresári <filename class="directory">/usr/share/locale/</filename> sa nachádza súbor
|
||||
<filename>locale.alias</filename>, ktorý definuje tzv. <emphasis>aliasy</emphasis> pre kódy
|
||||
miestnych nastavení. Pre správnu funkciu slovenských miestnych nastavení by mal obsahovať
|
||||
tieto dva riadky:
|
||||
<programlisting>
|
||||
sk sk_SK.ISO-8859-2
|
||||
slovak sk_SK.ISO-8859-2
|
||||
</programlisting></para>
|
||||
|
||||
<para>To zabezpečí, že aj keď nezadáte kódovanie znakov, bude použité iso-8859-2. Druhý riadok
|
||||
má na svedomí to, že namiesto sk možno zadať slovak.</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Konfigurácia miestnych nastavení</title>
|
||||
|
||||
<para>Nastavenia internacionalizácie sa (v <systemitem class="osname">RedHat</systemitem> a
|
||||
<systemitem class="osname">Mandrake</systemitem>) nachádzajú v súbore
|
||||
<filename>/etc/sysconfig/i18n</filename>. Je to veľmi užitočný súbor, v ktorom možno
|
||||
nastaviť všetko, čo sa kedy týkalo internacionalizácie, národných fontov a rozložení kláves.
|
||||
Tento súbor však len definuje systémové premenné a zvykne sa vkladať (<computeroutput>.
|
||||
/etc/sysconfig/i18n</computeroutput>) do inicializačných skriptov. Exportovanie
|
||||
premenných (odovzdanie ostatným aplikáciám) má na starosti skript
|
||||
<filename>/etc/profile.d/lang.sh</filename> (<application>bash</application>) alebo
|
||||
<filename>/etc/profile.d/lang.csh</filename> (<application>tcsh</application>). Tento sa
|
||||
vykoná pri každom štarte shellu, typicky je volaný z <filename>/etc/profile</filename>
|
||||
(<application>bash</application>) alebo <filename>/etc/csh.cshrc</filename>
|
||||
(<application>tcsh</application>).</para>
|
||||
|
||||
<para>Súbor <filename>/etc/sysconfig/i18n</filename> definuje nastavenia pre celý systém.
|
||||
Tieto sa použijú, ak sa nenájde súbor s užívateľovými nastaveniami. Každý užívateľ si môže
|
||||
určiť svoje vlastné nastavenia v súbore <filename>.i18n</filename> v jeho domovskom
|
||||
adresári. Nastavenia sa vždy čítajú len z jedného z týchto súborov, teda ak má užívateľ
|
||||
svoj vlastný súbor <filename>˜/.i18n</filename>, nastavenia zo súboru <filename
|
||||
class="directory">/etc/sysconfig/i18n</filename> sa ignorujú.</para>
|
||||
|
||||
<para>Užívateľ si môže zmeniť nastavenia aj ručne, kedykoľvek sa mu zachce, nastavením
|
||||
premenných prostredia
|
||||
<simplelist type="inline">
|
||||
<member><envar>LC_MESSAGES</envar></member>
|
||||
<member><envar>LANG</envar></member>
|
||||
<member>atď.</member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Vypnúť nejaké nastavenie je možné príkazom
|
||||
<screen>
|
||||
sh$ unset LC_MESSAGES LANG
|
||||
</screen></para>
|
||||
|
||||
<para>Tým sa zrušia nastavenia daných premenných (a použije sa štandardné locale
|
||||
<constant>C</constant> alebo <constant>POSIX</constant>).</para>
|
||||
|
||||
<para>Ak máte napríklad nastavené premenné <computeroutput>LC_ALL=sk</computeroutput> a
|
||||
<computeroutput>LC_MESSAGES=cz</computeroutput>, tak po príkaze <computeroutput>unset
|
||||
LC_ALL</computeroutput> nebudete mať hlásenia programov v angličtine, ale češtine. Preto, ak
|
||||
chcete vypnúť nejaké nastavenia, vždy musíte príkazom unset zrušiť nastavenia všetkých
|
||||
premenných, ktoré môžu ovplyvňovať dané miestne nastavenia.</para>
|
||||
|
||||
<note>
|
||||
<title>export/setenv</title>
|
||||
|
||||
<para>Neodpustím si malú poznámku k príkazu <command>export</command>. Je to vstavaná
|
||||
funkcia všetkých shellov kompatibilných s klasickým <application>sh</application> (teda aj
|
||||
<application>bash</application>). Pre shelly typu <application>tcsh</application> je
|
||||
ekvivalentom príkaz <command>setenv</command>.</para>
|
||||
|
||||
<para>Je dôležité uvedomiť si, čo presne tento príkaz robí s premennými. V dokumentácii k
|
||||
bashu sa hovorí, že <command>export</command> označí premennú, aby bola odovzdaná detským
|
||||
(<foreignphrase>child</foreignphrase>) procesom v rámci prostredia
|
||||
(<foreignphrase>environment</foreignphrase>). To znamená asi toľko, že keď spustíte napr.
|
||||
iXy z materského procesu <systemitem class="resource">bash</systemitem>, ktorý pri štarte
|
||||
exportoval premennú <computeroutput>LANG=sk</computeroutput>, všetky aplikácie v prostredí
|
||||
<application>X Window System</application> budú dediť toto nastavenie a teda (ak to sami
|
||||
podporujú) budú fungovať po slovensky. Ak budete chcieť spustiť aplikáciu bez slovenských
|
||||
nastavení, musíte v <application>xterme</application> zadať príkaz <computeroutput>unset
|
||||
LANG</computeroutput> (<computeroutput>unsetenv LANG</computeroutput> pre
|
||||
<application>tcsh</application>), čím pre všetky detské procesy
|
||||
<application>xtermu</application> (presnejšie shellu, ktory je v ňom spustený), zrušíte
|
||||
nastavenie premennej <envar>LANG</envar>. Potom aplikácie spustené priamo z tohto xtermu
|
||||
budú fungovať bez podpory slovenčiny. Trochu sa s tým pohrajte.</para>
|
||||
</note>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Nastavenie časovej zóny</title>
|
||||
|
||||
<para>S miestnymi nastaveniami úzko súvisí aj nastavenie časovej zóny. Vedel by som o tom
|
||||
rozprávať celé hodiny, ale ono by to muselo byť zložitejšie ako len nastavenie jednej
|
||||
premennej... A to takto:
|
||||
<screen>
|
||||
bash$ export TZ="Europe/Bratislava"
|
||||
|
||||
tcsh$ setenv TZ "Europe/Bratislava"
|
||||
</screen></para>
|
||||
|
||||
<para>Toto nastavenie ovplyvňuje len časový posun oproti hardverovým hodinám. (Mimochodom,
|
||||
odporúčam hardverové hodiny nastavené na greenwichský svetový čas, čím tiež odpadajú
|
||||
problémy s prechodom medzi letným a zimným časom atď. ale o tom sú popísané iné súbory.)
|
||||
Toto celé je dosť dobrá vec, hlavne ak mate prístup k počítaču v inej časovej zóne, ale
|
||||
chcete zobrazovanie času (príkaz date) v stredoeurópskej zóne. Do svojho súboru
|
||||
<filename>.bash_profile</filename> (<filename>.login</filename> pre
|
||||
<application>tcsh</application>) vložte vyššie uvedený riadok a choďte na kofolu...</para>
|
||||
</section>
|
||||
</section> <!-- locales-slovakia -->
|
||||
|
||||
<section id="locales-examples">
|
||||
<title>Príklady miestnych nastavení</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Užívateľ je síce zo stredného Slovenska, ale už keď s ním bola jeho mama tehotná,
|
||||
púšťala mu do brucha kurzy angličtiny. Nemá teda zmysel používať slovenské nastavenia, až
|
||||
na krajné prípady, napr. slovenské fonty v <application>Gimpe</application>. Darujte mu
|
||||
súbor <filename>.i18n</filename> s nasledovným obsahom (aj na takéto malé oné potrebuje
|
||||
<application>locales-sk</application>):
|
||||
<screen>
|
||||
LC_CTYPE=sk
|
||||
</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Užívateľ je normálny, má rád svoj materinský jazyk, ale netrápi ho, keď má polovicu
|
||||
aplikácií po slovensky a polovicu po anglicky. Po česky vie. Toto ho poteší (nezabudnite
|
||||
mu potajomky nainštalovať aj locales-cs):
|
||||
<screen>
|
||||
LANGUAGE=sk:cs
|
||||
LANG=sk
|
||||
</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Užívateľ je z blízkeho juhu, jeho obľúbené pleso je Balaton, všetky hlášky chce po
|
||||
maďarsky, ak sa inak nedá, pochopí aj slovenčinu. Nesmieme zabudnúť na jeho miernu
|
||||
schizofreniu, pričom jedno jeho ja potrebuje slovenské triedenie reťazcov a druhé nevie
|
||||
žiť bez formátovania dátumu a času v češtine. Nikdy sa nesmie zabudnúť na inštaláciu
|
||||
prekladov hlášok pre maďarčinu, češtinu a slovenčinu z balíkov, ktoré podporujú premennú
|
||||
LINGUAS (treba ho tiež presvedčiť, že inštalácia locales-{sk,hu,cs} nepredstavuje
|
||||
bezpečnostné riziko):
|
||||
<screen>
|
||||
LANGUAGE=hu:sk:cs
|
||||
LC_COLLATE=sk
|
||||
LC_TIME=cs
|
||||
LANG=hu
|
||||
LINGUAS="hu cs sk"
|
||||
</screen></para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section> <!-- locales-examples -->
|
||||
</section> <!-- locales -->
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="tricks">
|
||||
<title id="tricks.title">Fintièky so slovenèinou</title>
|
||||
|
||||
<section id="tricks-vim">
|
||||
<title>Zadávanie slovenských znakov vo vim</title>
|
||||
|
||||
<para><ulink url="http://www.kotelna.sk/keso/unix/vim.html">
|
||||
www.kotelna.sk/keso/unix/vim.html</ulink></para>
|
||||
|
||||
<para>Ak nemô¾ete alebo nechcete pou¾íva» rozlo¾enie kláves pre slovenèinu, ale potrebujete
|
||||
zada» pár na¹ich znakov vo vim, dá sa to urobi» pomocou príkazu <command>imap</command>. Jeho
|
||||
formát je
|
||||
<synopsis>
|
||||
:imap {lhs} {rhs}
|
||||
</synopsis></para>
|
||||
|
||||
<para><computeroutput>{lhs}</computeroutput> je postupnos» znakov, po ktorých zadaní (v
|
||||
krátkom èasovom intervale) sa vypí¹e <computeroutput>{rhs}</computeroutput>.</para>
|
||||
|
||||
<para>Pre slovenèinu by sa dali vyu¾i» imap definície znakov typu
|
||||
<screen>
|
||||
:imap =a á
|
||||
:imap +c è
|
||||
</screen></para>
|
||||
|
||||
<para>Ako vidno, je to nieèo podobné ako compose sekvencie z kapitoly o klávesnici na konzole.
|
||||
Po zadaní týchto príkazov mô¾ete aj so ¹tandardným rozlo¾ením kláves zadáva» vo vim znaky s
|
||||
diakritikou. Tu je kompletný zoznam imap definícií pre slovenskú diakritiku. Ulo¾te ho do
|
||||
súboru napríklad <filename>sk.vim</filename> a vo <application>vim</application> ho naèítate
|
||||
príkazom
|
||||
<screen>
|
||||
:source sk.vim
|
||||
</screen></para>
|
||||
|
||||
<para>
|
||||
<programlisting>
|
||||
imap =a á
|
||||
imap =A Á
|
||||
imap +a ä
|
||||
imap +A Ä
|
||||
imap +c è
|
||||
imap +C È
|
||||
imap +d ï
|
||||
imap +D Ï
|
||||
imap =e é
|
||||
imap +e ì
|
||||
imap =E É
|
||||
imap +E Ì
|
||||
imap =i í
|
||||
imap =I Í
|
||||
imap =l å
|
||||
imap =L Å
|
||||
imap +l µ
|
||||
imap +L ¥
|
||||
imap +n ò
|
||||
imap +N Ò
|
||||
imap =o ó
|
||||
imap =O Ó
|
||||
imap +o ô
|
||||
imap +O Ô
|
||||
imap "o ö
|
||||
imap "O Ö
|
||||
imap =r à
|
||||
imap =R À
|
||||
imap +r ø
|
||||
imap +R Ø
|
||||
imap +s ¹
|
||||
imap +S ©
|
||||
imap +t »
|
||||
imap +T «
|
||||
imap =u ú
|
||||
imap =U Ú
|
||||
imap +u ù
|
||||
imap +U Ù
|
||||
imap "u ü
|
||||
imap "U Ü
|
||||
imap =y ý
|
||||
imap =Y Ý
|
||||
imap +z ¾
|
||||
imap +Z ®
|
||||
</programlisting>
|
||||
</para>
|
||||
</section> <!-- tricks-vim -->
|
||||
|
||||
<section id="tricks-recode">
|
||||
<title>Odstránenie alebo nahradenie diakritiky v textových súboroch</title>
|
||||
|
||||
<section id="tricks-recode-sed">
|
||||
<title>sed</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>V prípade, ¾e potrebujete z textového súboru odstráni» diakritické znamienka, mô¾ete
|
||||
pou¾i» program <command>sed</command>, pomocou ktorého nahradíte výskyt znaku s diakritikou
|
||||
jeho ekvivalentom bez nej.</para>
|
||||
|
||||
<para>Ak chcete odstráni» diakritiku úplne, musíte nahradi» výskyt v¹etkých znakov s
|
||||
diakritikou. Ak ale chcete len to, aby sa súbor zobrazoval správne pri prezeraní bez
|
||||
zavedeného fontu latin 2, staèí nahradi» len tie znaky, ktoré sa nezobrazujú správne pre
|
||||
¹tandardný font (spravidla latin 1).</para>
|
||||
|
||||
<para>Toto je príkaz, ktorý sa pou¾íva pri vytváraní verzie Slovak-HOWTO úplne
|
||||
bez diakritiky:
|
||||
<programlisting>
|
||||
sed -e "s:á:a:g" -e "s:Á:A:g" -e "s:ä:a:g" -e "s:Ä:A:g" \
|
||||
-e "s:è:c:g" -e "s:È:C:g" -e "s:ï:d:g" -e "s:Ï:D:g" \
|
||||
-e "s:é:e:g" -e "s:É:E:g" -e "s:ì:e:g" -e "s:Ì:E:g" \
|
||||
-e "s:í:i:g" -e "s:Í:I:g" -e "s:å:l:g" -e "s:Å:L:g" \
|
||||
-e "s:µ:l:g" -e "s:¥:L:g" -e "s:ò:n:g" -e "s:Ò:N:g" \
|
||||
-e "s:ó:o:g" -e "s:Ó:O:g" -e "s:ô:o:g" -e "s:Ô:O:g" \
|
||||
-e "s:ö:o:g" -e "s:Ö:O:g" -e "s:à:r:g" -e "s:À:R:g" \
|
||||
-e "s:ø:r:g" -e "s:Ø:R:g" -e "s:¹:s:g" -e "s:©:S:g" \
|
||||
-e "s:»:t:g" -e "s:«:T:g" -e "s:ú:u:g" -e "s:Ú:U:g" \
|
||||
-e "s:ù:u:g" -e "s:Ù:U:g" -e "s:ü:u:g" -e "s:Ü:U:g" \
|
||||
-e "s:ý:y:g" -e "s:Ý:Y:g" -e "s:¾:z:g" -e "s:®:Z:g" \
|
||||
"Slovak-HOWTO.sgml" > "Slovak-HOWTO-nodiac.sgml"
|
||||
</programlisting></para>
|
||||
</section> <!-- tricks-recode-sed -->
|
||||
|
||||
<section id="tricks-recode-cstocs">
|
||||
<title>cstocs</title>
|
||||
|
||||
<para>Braòo Katreniak</para>
|
||||
|
||||
<para>Keï sa zmieòujete o tom, ako sa dá odstráni» slovenèina z dokumentu, zdá sa mi vhodné
|
||||
spomenú» aj program <command>cstocs</command>. Je to milá utilitka ¹tandardne dodávaná s
|
||||
TeXom. Umo¾òuje konverziu súborov prakticky v¹etkých mo¾ných kódových stránok medzi sebou
|
||||
navzájom, prièom jedna z mo¾ností je aj odstránenie diakritiky. Prièom sa mi to zdá
|
||||
pohodlnej¹ie ako <command>sed</command>.</para>
|
||||
</section> <!-- tricks-recode-cstocs -->
|
||||
|
||||
<section id="tricks-recode-recode">
|
||||
<title>recode</title>
|
||||
|
||||
<para>Ján 'judas' Tomka, <email>judas@linux.sk</email></para>
|
||||
|
||||
<para>Existuje aj program <command>recode</command>, ktorý pravdepodobne tie¾ slú¾i na zmeny v
|
||||
kódovaní súborov. Urèite ho pou¾ijete na tento cieµ, ak sa predtým nestane niektorá z
|
||||
nasledujúcich vecí:
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Prídete o oèi pri èítaní man stránky, info manuálu a v¹etkého èo je o tomto --
|
||||
inak urèite u¾itoènom programe -- popísané.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Prídete o nervy pri skú¹aní v¹etkých mo¾ných kombinácií parametrov, volieb èi
|
||||
argumentov pre tento nesmierne u¾itoèný program.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Prídete o poèítaè, keï¾e ho vyhodíte z okna po dvoch tý¾dòoch psychického
|
||||
utrpenia, ktoré za¾ijete pri pokusoch s týmto extrémne u¾itoèným programom.</para>
|
||||
</listitem>
|
||||
</orderedlist></para>
|
||||
|
||||
<para>Podµa v¹etkého by mal staèi» nasledovný príkaz:
|
||||
<screen>
|
||||
recode l2 subor.txt
|
||||
</screen>
|
||||
ale zdá sa, ¾e to staèi» nebude. Latka na titul <quote>Linuxový Guru</quote> sa posunula do
|
||||
závratných vý¹ok, preto¾e -- aby ste sa stali jeho nositeµom -- musíte vedie» pomocou tohto
|
||||
programu previes» dokument v latin2 na latin1 alebo dokonca ascii (a to u¾ je pekný
|
||||
saigon...)</para>
|
||||
</section> <!-- tricks-recode-recode -->
|
||||
</section> <!-- tricks-recode -->
|
||||
</section> <!-- tricks -->
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="unicode">
|
||||
<title id="unicode.title">Unicode</title>
|
||||
|
||||
<para></para>
|
||||
</section> <!-- unicode -->
|
||||
|
|
@ -0,0 +1,711 @@
|
|||
<!--DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"-->
|
||||
|
||||
<section id="xwindow">
|
||||
<title>Nastavenia X Window Systemu</title>
|
||||
|
||||
<para>Èokoµvek sa chystáte robi» s <application>X Window Systemom</application> a slovenèinou
|
||||
dokopy, sµubujem, ¾e vám to nebude fungova», ak nenastavíte totok taktok:
|
||||
<programlisting>
|
||||
LC_CTYPE=sk
|
||||
</programlisting></para>
|
||||
|
||||
<para>Èo to znamená a ako sa to nastavuje, tak o tom pojednáva kapitola <xref linkend="locales"
|
||||
endterm="locales.title">.</para>
|
||||
|
||||
<section id="xwindow-fonts">
|
||||
<title>Slovenské fonty v X Window Systeme</title>
|
||||
|
||||
<para>Predpokladám, ze <application>X Window System</application> máte nain¹talovaný, prípadne
|
||||
aj <application>X Font Server</application>, vaè¹inu dôle¾itých vecí sme si povedali v èasti o
|
||||
konzole, poïme si rovno nain¹talova» slovenské fonty.</para>
|
||||
|
||||
<section id="xwindow-fonts-xsinstall">
|
||||
<title>In¹talácia fontov - X server</title>
|
||||
|
||||
<para>Slovenské fonty pre <acronym>X</acronym> nájdeme v balíku
|
||||
<application>XFree86-ISO8859-2</application>, veµa ïal¹ích je v balíkoch
|
||||
<application>XFree-ISO8859-2-<emphasis><druh></emphasis>-fonts</application>, kde
|
||||
<emphasis><druh></emphasis> mô¾e by» <application>Type1</application>,
|
||||
<application>100dpi</application> alebo <application>75dpi</application>. Ak chcete pou¾íva»
|
||||
slovenèinu seriózne (<application>Gimp</application>, <application>Netscape</application>,
|
||||
lokalizácia), nain¹talujte si v¹etky, ak potrebujete slovenský font len napr. v
|
||||
<application>XTerme</application>, postaèí vám základný balík.</para>
|
||||
|
||||
<para>Po rozbalení archívu sa fonty nachádzajú na niekoµkých miestach. V¹etky cesty k novým
|
||||
fontom si treba odpisa», zapamäta», ma» na oèiach:
|
||||
<simplelist>
|
||||
<member><filename class="directory">/usr/share/fonts/ISO8859-2/misc</filename></member>
|
||||
<member><filename class="directory">/usr/share/fonts/ISO8859-2/75dpi</filename></member>
|
||||
<member><filename class="directory">/usr/share/fonts/ISO8859-2/100dpi</filename></member>
|
||||
<member><filename class="directory">/usr/share/fonts/ISO8859-2/Type1</filename></member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Tieto cesty toti¾ budeme vklada» do konfiguraèného súboru <application>X Window
|
||||
Systemu</application> (<filename>/etc/X11/XF86Config</filename>, prípadne
|
||||
<filename>/etc/X11/XF86Config-4</filename>). Tým sprístupníme X serveru fonty z týchto
|
||||
adresárov. Sekciu <computeroutput>"Files"</computeroutput> upravíme vlo¾ením riadkov
|
||||
<computeroutput>FontPath</computeroutput>:
|
||||
<programlisting>
|
||||
Section "Files"
|
||||
...
|
||||
FontPath "/usr/share/fonts/ISO8859-2/misc"
|
||||
FontPath "/usr/share/fonts/ISO8859-2/75dpi"
|
||||
FontPath "/usr/share/fonts/ISO8859-2/100dpi"
|
||||
FontPath "/usr/share/fonts/ISO8859-2/Type1"
|
||||
EndSection
|
||||
</programlisting></para>
|
||||
|
||||
<para>Správne poradie riadkov s cestami k fontom nájdete v
|
||||
<citetitle>XWindow-User-HOWTO</citetitle>, ale nemali by ste ma» veµké problémy ani keï
|
||||
slovenské fonty vlo¾íte na koniec zoznamu.</para>
|
||||
|
||||
<para>Za behu <application>X Window Systemu</application> pridáte nové adresáre s fontami
|
||||
príkazom
|
||||
<screen>
|
||||
sh$ xset +fp /usr/share/fonts/ISO8859-2/misc, /usr/share/fonts/ISO8859-2/75dpi, …
|
||||
</screen></para>
|
||||
</section> <!-- xwindow-fonts-xsinstall -->
|
||||
|
||||
<section id="xwindow-fonts-fsinstall">
|
||||
<title>In¹talácia fontov - X Font Server</title>
|
||||
|
||||
<para><application>X Font Server</application> ponúka druhý spôsob spravovania fontov pre
|
||||
<application>X Window Server</application>, a to ako pre lokálnu ma¹inu, tak aj pre
|
||||
vzdialené systémy. Moderné distribúcie u¾ po in¹talácii ponúkajú nakonfigurovaný
|
||||
<application>X Font Server</application> a <application>X Window System</application>, ktorý
|
||||
vyu¾íva jeho slu¾by.</para>
|
||||
|
||||
<para>Pri tomto spôsobe treba cesty k fontom vlo¾i» do konfiguraèného súboru
|
||||
<application>X Font Serveru</application> a konfigurácia v
|
||||
<filename>/etc/X11/X86Config</filename> (XF86Config-4) by mala vyzera» takto:
|
||||
<programlisting>
|
||||
Section "Files"
|
||||
FontPath "unix/:7100"
|
||||
EndSection
|
||||
</programlisting>
|
||||
za predpokladu, ¾e X Font Server be¾í na porte 7100 (voµba príkazového riadku
|
||||
<computeroutput>-port</computeroutput>).</para>
|
||||
|
||||
<para>Ak teda pou¾ívate <application><acronym>xfs</acronym></application>, nieèo podobné ako v
|
||||
predchádzajúcej kapitole urobíte s konfiguraèným súborom pre tento program
|
||||
(<filename>/etc/X11/fs/config</filename>) v èasti
|
||||
<computeroutput>catalogue</computeroutput>:
|
||||
<programlisting>
|
||||
catalogue = ...,
|
||||
/usr/share/fonts/ISO8859-2/misc,
|
||||
/usr/share/fonts/ISO8859-2/75dpi,
|
||||
/usr/share/fonts/ISO8859-2/100dpi,
|
||||
/usr/share/fonts/ISO8859-2/Type1
|
||||
</programlisting></para>
|
||||
|
||||
<para>Hneï potom musí <application><acronym>xfs</acronym></application> znovu naèíta»
|
||||
konfiguraèný súbor a tým umo¾níte pou¾ívanie slovenských fontov lokálnemu aj iným
|
||||
<acronym>X</acronym> serverom:
|
||||
<screen>
|
||||
sh# killall -USR1 xfs
|
||||
</screen></para>
|
||||
</section> <!-- xwindow-fonts-fsinstall -->
|
||||
|
||||
<section id="xwindow-fonts-ttf">
|
||||
<title id="xwindow-fonts-ttf.title">Slovenské TrueType fonty</title>
|
||||
|
||||
<para>Ak vlastníte legálnu kópiu systému <systemitem class="osname">WindowsXX</systemitem>
|
||||
(kde <acronym>XX</acronym> je hocièo), alebo <systemitem class="osname">MacOS</systemitem>,
|
||||
nevidím právnu preká¾ku, preèo by ste nemohli pou¾íva» <application>TrueType</application>
|
||||
fonty obsiahnuté v ich distribúciách. Existuje aj mnoho balíkov s
|
||||
<application>TrueType</application> fontmi s podporou normy iso-8859-2, ktoré sú voµne
|
||||
dostupné.</para>
|
||||
|
||||
<para>Popis in¹talácie takýchto fontov prebehneme len v krátkosti, podrobnej¹í
|
||||
nájdete v dokumentácii k balíku <application>free-type</application>:</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Skopírujte súbory s <application>TrueType</application> fontami napr. do adresára
|
||||
<filename class="directory">/usr/share/fonts/ttf/win/</filename>. Odporúèam zmeni»
|
||||
mená súborov s fontami aj ich prípony na malé písmená -- mal som s tým
|
||||
problémy.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Vytvorte v ka¾dom adresári súbor s informáciami o scalable fontoch
|
||||
<filename>fonts.scale</filename> nasledovným príkazom:
|
||||
<screen>
|
||||
sh# cd /usr/share/fonts/ttf/win
|
||||
sh# ttmkfdir -o fonts.scale
|
||||
</screen></para>
|
||||
|
||||
<para>Ak to nie je celkom ono a dostanete veµa chybových hlásení, alebo súbor
|
||||
<filename>fonts.scale</filename> obsahuje príli¹ málo záznamov o fontoch v adresári,
|
||||
skúste pou¾i» s príkazom <command>ttmkfdir</command> aj voµbu príkazoveho riadku
|
||||
<computeroutput>-c</computeroutput>.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Zoznam fontov v súbore, ktorý naèítava <acronym>X</acronym> server aj
|
||||
<application>xfs</application>, vytvoríte nasledovne:
|
||||
<screen>
|
||||
sh# cd /usr/share/fonts/ttf/win
|
||||
sh# mkfontdir
|
||||
</screen></para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<para>Od tohto momentu pokraèujte ¹tandardným spôsobom tak, ako je to popísané
|
||||
v predchádzajúcej èasti o konfigurácii <acronym>X</acronym> servera alebo
|
||||
<application>xfs</application>.</para>
|
||||
</section> <!-- xwindow-fonts-ttf -->
|
||||
|
||||
<section id="xwindow-fonts-alias">
|
||||
<title>Èo je iné so slovenskými fontami</title>
|
||||
|
||||
<para>Okrem toho, ¾e sa slovenské znaky zobrazujú správne, niè. Fonty z balíkov pre normu
|
||||
iso8859-2 sa síce volajú inak, ale vzhµadom zodpovedajú ¹tandardným fontom. V nasledujúcej
|
||||
tabuµke sú uvedené zodpovedajúce dvojice fontov:
|
||||
<table>
|
||||
<title>Slovenské ekvivalenty ¹tandardných fontov</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>¹tandardne</entry>
|
||||
<entry>iso8859-2</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Times</entry>
|
||||
<entry>Kathimerini</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Helvetica</entry>
|
||||
<entry>Aplos</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>New Century Schoolbook</entry>
|
||||
<entry>Anagnostiko</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Lucida</entry>
|
||||
<entry>Fotinos</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Utopia</entry>
|
||||
<entry>Chimera</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Charter</entry>
|
||||
<entry>Chartis</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table></para>
|
||||
|
||||
<para>Berte túto tabuµku len ako informatívny údaj, ktorý pravdepodobne nikdy nebudete
|
||||
potrebova» vïaka súborom <filename>fonts.alias</filename> v adresároch so slovenskými
|
||||
fontmi. Tie zabezpeèujú nahrádzanie mien ¹tandardných fontov s uvedenou normou iso-8859-2
|
||||
zodpovedajúcimi menami slovenských fontov. Napríklad po¾iadavka na font
|
||||
<literallayout><computeroutput>
|
||||
-b&h-lucida-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2
|
||||
</computeroutput></literallayout>
|
||||
poskytne a teda zobrazí v skutoènosti font
|
||||
<literallayout><computeroutput>
|
||||
-biznet-fotinos-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2
|
||||
</computeroutput></literallayout></para>
|
||||
</section> <!-- xwindow-fonts-alias -->
|
||||
|
||||
<section id="xwindow-fonts-tshooting">
|
||||
<title>Strieµanie ta¾kostí</title>
|
||||
|
||||
<para>Ak budete dostáva» po spustení <acronym>X</acronym> serveru chybové hlásenia typu
|
||||
<quote><computeroutput>Can't open default font 'fixed'</computeroutput></quote> alebo
|
||||
<quote><computeroutput>unable to open font ...</computeroutput></quote>, alebo vám
|
||||
jednoducho nieèo spojené s fontami pod iXami bude kazi» náladu, uistite sa, ¾e máte v
|
||||
poriadku nasledovné veci.</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>V adresároch, v ktorých sa nachádzajú fonty, musí existova» súbor
|
||||
<filename>fonts.dir</filename>. Ak nie, spustite v týchto adresároch program
|
||||
<command>mkfontdir</command>. V adresároch s <application>TrueType</application> fontmi
|
||||
musíte e¹te predtým vytvori» súbor <filename>fonts.scale</filename> tak ako je to
|
||||
popísane v èasti
|
||||
<xref linkend="xwindow-fonts-ttf" endterm="xwindow-fonts-ttf.title">.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ak idete bez <application>xfs</application>, naozaj v¹etky adresáre s fontami musia
|
||||
by» uvedené v súbore <filename>XF86Config</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>V prípade, ze pou¾ívate xfs, tieto adresáre musia by» uvedené v súbore
|
||||
<filename>/etc/X11/fs/config</filename>. Navy¹e, xfs musí be¾a» na nejakom porte (napr.
|
||||
7100) a v <filename>XF86Config</filename> musí by» cesta k fontom uvedená ako adresa s
|
||||
èíslom toho portu, asi takto:
|
||||
<programlisting>
|
||||
FontPath "unix/:7100"
|
||||
</programlisting></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Po zmenách v konfiguraèných súboroch <application>X Window Systemu</application>
|
||||
alebo <application>X Font Serveru</application> je nutný re¹tart alebo znovunaèítanie
|
||||
nastavení:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><application>X Window System</application></term>
|
||||
<listitem>
|
||||
<screen>
|
||||
sh$ xset fp rehash
|
||||
</screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>X Font Server</application></term>
|
||||
<listitem>
|
||||
<screen>
|
||||
sh# killall -USR1 xfs
|
||||
</screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ak máte v <filename>inittabe</filename> nastavené spú¹»anie X serveru pri ¹tarte
|
||||
systému (runlevel 5/X), rad¹ej si to pri pokusoch s fontami zmeòte na 3/multiuser a¾
|
||||
pokiaµ si nie ste sakramentsky istí, ¾e X server pri ¹tarte nájde fonty. Ak to
|
||||
neurobíte a nastavenia budú nesprávne, zaènú sa dia» záhadné veci typu <quote>X server
|
||||
sa skonèí, lebo nenájde fonty ale init ho znovu spustí a ten nenájde fonty, tak sa
|
||||
skonèí, ale init ho...</quote>. Znakom toho je hlá¹ka <computeroutput>INIT: Id "x"
|
||||
respawning too fast: disabled for 5 minutes</computeroutput>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><application>X Window System</application> hµadá (pre normálneho u¾ívateµa)
|
||||
konfiguraèné súbory v tomto poradí:
|
||||
<simplelist>
|
||||
<member><filename>/etc/X11/<cmdline></filename></member>
|
||||
<member><filename>/usr/X11R6/etc/X11/<cmdline></filename></member>
|
||||
<member><filename>/etc/X11/$XF86CONFIG</filename></member>
|
||||
<member><filename>/usr/X11R6/etc/X11/$XF86CONFIG</filename></member>
|
||||
<member><filename>/etc/X11/XF86Config-4</filename></member>
|
||||
<member><filename>/etc/X11/XF86Config</filename></member>
|
||||
<member><filename>/etc/XF86Config</filename></member>
|
||||
<member><filename>/usr/X11R6/etc/X11/XF86Config.<hostname></filename></member>
|
||||
<member><filename>/usr/X11R6/etc/X11/XF86Config-4</filename></member>
|
||||
<member><filename>/usr/X11R6/etc/X11/XF86Config</filename></member>
|
||||
<member><filename>/usr/X11R6/lib/X11/XF86Config.<hostname></filename></member>
|
||||
<member><filename>/usr/X11R6/lib/X11/XF86Config-4</filename></member>
|
||||
<member><filename>/usr/X11R6/lib/X11/XF86Config</filename></member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Pamätajte na to pri editovaní konfigurákov a v¾dy sa uistite, èi neexistuje súbor,
|
||||
ktorý je v tomto zozname vy¹¹ie, ako ten, ktorý editujete. V opaènom prípade by to bolo
|
||||
to isté, ako keby ste kàmili susedovho psa a èudovali sa, preèo ten vá¹ zdochol. Alebo
|
||||
nieèo podobné so ¾enami, èo sa sem nehodí.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</section> <!-- xwindow-fonts-tshooting -->
|
||||
</section> <!-- xwindow-fonts -->
|
||||
|
||||
<section id="xwindow-kbd">
|
||||
<title>Slovenská klávesnica v X Window Systeme</title>
|
||||
|
||||
<para>Skôr jak to tu celé roztoèíme, zadajte príkaz
|
||||
<screen>
|
||||
sh$ rpm -q XFree86
|
||||
</screen></para>
|
||||
|
||||
<para>V¹etky tie èísla za <computeroutput>XFree86</computeroutput>, èo vám tento príkaz vypí¹e,
|
||||
udávajú verziu vá¹ho <application>XFree86 X Window Systemu</application>.</para>
|
||||
|
||||
<para>Existuje presne ¹tyridsa»dva dôvodov, preèo prejs» na <application>XFree86</application>
|
||||
verziu 3.2 alebo vy¹¹iu, a len dva, preèo zosta» pri star¹ej verzii. <systemitem
|
||||
class="osname">Red Hat Linux 6.0</systemitem> obsahuje <application>XFree86 </application>,
|
||||
verziu 3.3.3 a <systemitem class="osname">Linux Mandrake 7.0</systemitem> u¾ verziu
|
||||
3.3.6.</para>
|
||||
|
||||
<para>Pokiaµ ste svoj operaèný systém nezdedili po starých rodièoch, je vysoko pravdepodobné, ¾e
|
||||
máte verziu <application>XFree86</application> vy¹¹iu ako 3.2. Inak ste naozaj krok pozadu a
|
||||
na adrese <ulink url="ftp://ftp.xfree86.org">ftp://ftp.xfree86.org</ulink> nájdete to, èo
|
||||
treba.</para>
|
||||
|
||||
<para>Ak aj po predchádzajúcich slovách, upozorneniach a odporúèaniach odmietate upgrade na
|
||||
verziu 3.2, dr¾te sa nasledujúcich krokov:</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Ak máte <citetitle>Slovak-HOWTO</citetitle> vytlaèené na papieri, uchopte tento do
|
||||
µavej ruky (ak ste µavák, robte v¹etko naopak), zapaµovaè do pravej, zachovavajte
|
||||
dostatoènú vzdialenos» od iných zápalných materiálov a nekompromisne konajte.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>V prípade, ¾e máte tento súbor ulo¾ený niekde na disku, príkazom
|
||||
<screen>
|
||||
sh$ su -c'rm -fr /'
|
||||
</screen>
|
||||
sa ho do niekoµkých minút po zadaní hesla zaruèene zbavíte.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<section id="xwindow-kbd-config">
|
||||
<title>Konfigurácia klávesnice</title>
|
||||
|
||||
<para><application>XFree86</application> 3.2 a nov¹ie u¾ majú tzv.
|
||||
<emphasis>XKEYBOARD</emphasis> roz¹írenie, ktoré zjednodu¹uje konfiguráciu klávesnice pre
|
||||
<application>X Window System</application>. Teoreticky netreba urobi» viac ako v súbore
|
||||
<filename>/etc/X11/XF86Config</filename> vlo¾i» do sekcie
|
||||
<computeroutput>"Keyboard"</computeroutput> nieèo takéto:
|
||||
<programlisting>
|
||||
Section "Keyboard"
|
||||
...
|
||||
XkbLayout "czsk"
|
||||
XkbVariant "us_sk_qwertz"
|
||||
XkbOptions "grp:ctrl_shift_toggle"
|
||||
EndSection
|
||||
</programlisting></para>
|
||||
|
||||
<para>Ak u¾ ste nebodaj u¾ívateµom <application>XFree86</application> verzie 4.0.0 alebo
|
||||
vy¹¹ej, vlo¾te do súboru <filename>/etc/X11/XF86Config-4</filename> toto:
|
||||
<programlisting>
|
||||
Section "InputDevice"
|
||||
...
|
||||
Option "XkbLayout" "czsk"
|
||||
Option "XkbVariant" "us_sk_qwertz"
|
||||
Option "XkbOptions" "grp:ctrl_shift_toggle"
|
||||
EndSection
|
||||
</programlisting></para>
|
||||
|
||||
<para>Riadok v konfiguraènom súbore
|
||||
<programlisting>
|
||||
XkbLayout "czsk"
|
||||
</programlisting>
|
||||
prípadne pre verziu ≥ 4
|
||||
<programlisting>
|
||||
Option "XkbLayout" "czsk"
|
||||
</programlisting>
|
||||
hovorí asi toµko, aby <acronym>X</acronym> server pou¾il popis rozlo¾enia kláves ulo¾ený v
|
||||
súbore <filename>czsk</filename>. Tento a ostatné súbory s <acronym>XKB</acronym> keymapami
|
||||
sa nachádzajú v adresári <filename class="directory">/usr/X11R6/lib/X11/xkb/symbols/
|
||||
</filename>.</para>
|
||||
|
||||
<para>Bli¾¹ie si o formáte týchto súborov povieme neskôr, teraz si len otvorte
|
||||
súbor <filename>czsk</filename> a pozrite si jeho ¹truktúru -- hlavne èasti
|
||||
<computeroutput>xkb_symbols</computeroutput>. Pre slovenèinu sú dôle¾ité tieto varianty:
|
||||
<simplelist>
|
||||
<member><computeroutput>us_sk_qwerty</computeroutput></member>
|
||||
<member><computeroutput>us_sk_qwertz</computeroutput></member>
|
||||
<member><computeroutput>us_sk_prog</computeroutput></member>
|
||||
<member><computeroutput>sk_us_qwerty</computeroutput></member>
|
||||
<member><computeroutput>sk_us_qwertz</computeroutput></member>
|
||||
<member><computeroutput>sk_us_prog</computeroutput></member>
|
||||
</simplelist></para>
|
||||
|
||||
<para>Niektorý z týchto re»azcov dosaïte do riadku
|
||||
<programlisting>
|
||||
XkbVariant "..."
|
||||
</programlisting>
|
||||
pre star¹ie verzie <application>X Window Systemu</application>, alebo
|
||||
<programlisting>
|
||||
Option "XkbVariant" "..."
|
||||
</programlisting>
|
||||
v konfiguraènom súbore pre <acronym>X</acronym> sever verzia 4.</para>
|
||||
|
||||
<para>Varianty <computeroutput>us_sk_qwerty</computeroutput> a
|
||||
<computeroutput>sk_us_qwerty</computeroutput> sú prakticky toto¾né, jediný rozdiel je v tom,
|
||||
ktoré rozlo¾enie kláves bude nastavené po ¹tarte <application>X Window
|
||||
Systemu</application>. Pre <computeroutput>sk_us_*</computeroutput> je to slovenské, pre
|
||||
<computeroutput>us_sk_*</computeroutput> zase americké.</para>
|
||||
|
||||
<para>Prepína» medzi slovenským a americkým rozlo¾ením kláves mo¾no klávesom
|
||||
<keycap>Scroll Lock</keycap>, prípadne aj inými, ak vlo¾íte do konfigurácie klávesnice
|
||||
riadok:
|
||||
<screen>
|
||||
Options "grp:..."
|
||||
</screen>
|
||||
alebo pre <application>X Window System</application> verzie 4.0 alebo nov¹í:
|
||||
<screen>
|
||||
Option "XkbOptions" "grp:..."
|
||||
</screen></para>
|
||||
|
||||
<para>Èas» <computeroutput>grp:…</computeroutput> nahraïte niektorou z nasledujúcich
|
||||
mo¾ností a mô¾ete prepína» rozlo¾enia kláves pomocou danej klávesovej skratky:
|
||||
<table>
|
||||
<title>Mo¾nosti prepínania medzi rozlo¾eniami kláves</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>voµba</entry>
|
||||
<entry>prepínanie medzi rozlo¾eniami</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>grp:ctrl_shift_toggle</entry>
|
||||
<entry>LShift + LCtrl / RShift + RCtrl</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>grp:caps_toggle</entry>
|
||||
<entry>Caps Lock / LShift + RShift</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>grp:ctrl_alt_toggle</entry>
|
||||
<entry>Ctrl + Alt</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table></para>
|
||||
|
||||
<para>Pri nastavovaní alternatívnych klávesových kombinácií na prepínanie medzi rozlo¾eniami
|
||||
kláves si dávajte pozor, aby dané nastavenie nekolidovalo s u¾ existujúcimi klávesovými
|
||||
skratkami (napríklad vá¹ho mana¾éra okien). Napríklad pri nastavenom
|
||||
<computeroutput>ctrl_alt_toggle</computeroutput> nefunguje <keycombo> <keycap>Ctrl</keycap>
|
||||
<keycap>Alt</keycap> <keycap>Backspace</keycap> </keycombo> (<foreignphrase>Kill X
|
||||
Server</foreignphrase>).</para>
|
||||
</section> <!-- xwindow-kbd-config -->
|
||||
|
||||
<section id="xwindow-kbd-keymap">
|
||||
<title>XKB keymapy</title>
|
||||
|
||||
<para><application>X Window System</application> umo¾òuje definova» vlastné popisy rozlo¾enia
|
||||
kláves prakticky pre akýkoµvek jazyk. Na to slú¾ia keymap súbory -- nieèo veµmi podobné tým
|
||||
keymap súborom, o ktorých sme hovorili v èasti o nastaveniach konzoly. Formát keymap súborov
|
||||
pre <application>X Window System</application> dovoµuje vytvárat súbory s jednoduchým
|
||||
popisom len èasti klávesnice, ale aj zlo¾ité súbory s mnohými rozlo¾eniami.</para>
|
||||
|
||||
<para>Naozaj nemá zmysel podrobne popisova» mo¾nosti <acronym>XKB</acronym> keymap súborov,
|
||||
snáï budú staèi» len úplné základy, ktoré vám dovolia robi» malé zmeny v u¾ existujucich
|
||||
popisoch rozlo¾enia kláves. Podstatne viac o týchto súboroch sa dozviete, keï si ich sami
|
||||
pozriete a poskú¹ate.</para>
|
||||
|
||||
<para>V XKB popisoch rozlo¾enia kláves majú riadky takýto formát:
|
||||
<programlisting>
|
||||
key <TLDE> { [ quoteleft, asciitilde ], [ semicolon, degree ] };
|
||||
</programlisting></para>
|
||||
|
||||
<para>Kµúèové slovo key oznaèuje zaèiatok definície znaku, ktorého kód nasleduje uzavretý v
|
||||
<computeroutput><</computeroutput> a <computeroutput>></computeroutput>, celá definicia
|
||||
je uzavretá v krútených zátvorkách a dvojice znakov pre ka¾dú skupinu
|
||||
(<foreignphrase>Group</foreignphrase>) sa uzavierajú do hranatých zátvoriek. Skupiny mô¾u
|
||||
by» definované napríklad takto:
|
||||
<programlisting>
|
||||
name[Group1] = "US/ASCII";
|
||||
name[Group2] = "Slovak";
|
||||
</programlisting></para>
|
||||
|
||||
<para>Potom prvé dva znaky (<computeroutput>quoteleft</computeroutput> a <computeroutput>
|
||||
asciitilde</computeroutput>) v definícii znaku platia pre prvú skupinu (<computeroutput>
|
||||
US/ASCII</computeroutput>) a druhé dva (<computeroutput>semicolon</computeroutput> a
|
||||
<computeroutput>degree</computeroutput>) pre druhú skupinu
|
||||
(<computeroutput>Slovak</computeroutput>).</para>
|
||||
|
||||
<para>Kódy jednotlivých klávesov µahko zistíte z keymap súborov, ktorých je v adresári
|
||||
<filename class="directory">/usr/X11R6/lib/X11/xkb/symbols/</filename> naozaj dos», takisto,
|
||||
názvy znakov a màtvych kláves sa veµmi nelí¹ia od tých, ktoré platia v keymap súboroch pre
|
||||
textovú konzolu. No a nakoniec, v prílohe <xref linkend="xwindow-examples-keymap"
|
||||
endterm="xwindow-examples-keymap.title"> nájdete jeden vzorový príklad slovenského
|
||||
rozlo¾enia kláves pre <application>X Window System</application>.</para>
|
||||
</section> <!-- xwindow-kbd-keymap -->
|
||||
</section> <!-- xwindow-kbd -->
|
||||
|
||||
<section id="xwindow-mouse">
|
||||
<title>Slovenská my¹ v X Window Systeme</title>
|
||||
|
||||
<para>Mimoriadne zlo¾ité bolo do verzie 4.0.1 nastavovanie slovenèiny pre my¹. Na¹tastie,
|
||||
vývojári si spomenuli, ¾e i toto zariadenie a jeho ovládaèe by mali v plnej miere podporova»
|
||||
miestne nastavenia tak, ako je to napríklad u klávesnice. Dokonca sa objavili pokusy
|
||||
lokalizova» tablety a svetelné perá.</para>
|
||||
|
||||
<para>V predchádzajúcich verziách <application>X Window Systemu</application> bola táto podpora
|
||||
veµmi slabo implementovaná a len niekoµkým národom sa podarilo rozchodi» my¹ vo svojom jazyku.
|
||||
Slovenskí pou¾ívatelia museli na svojich my¹iach robi» rôzne úpravy od tupírovania ¹núry a¾ po
|
||||
kastráciu, ale výsledky boli aj tak neuspokojivé.</para>
|
||||
|
||||
<para>Popí¹eme si teraz v krátkosti postup poslovenèovania my¹i v <application>X Window
|
||||
Systeme</application>, verzia 4.0.1 a vy¹¹ie:</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Odpojte svoju my¹ od poèítaèa, poutierajte a vyle¹tite jej guµu, skontrolujte
|
||||
mikrotlaèidlá a celkovo ju o¹etrite. Odlo¾te ju do tepla a sucha. Dôle¾ité je aspoò raz
|
||||
za deò k nej pristúpi» s Pravidlami slovenského pravopisu a príjemným hlasom predèítava»
|
||||
slová zo slovníka. Po pár ty¾dòoch mô¾ete prejs» k jednoduchej beletrii a
|
||||
rozprávkam.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Poèas tohto obdobia odvykania my¹i od cudzích jazykov nain¹talujte slovenské fonty a
|
||||
rozlo¾enie kláves. Takisto sa pokúste pozháòa» slovenské preklady obµúbených aplikácií
|
||||
va¹ej my¹i. Ako pozadie obrazovky odporúèam nastavi» slovenskú zástavu a adresáre s
|
||||
hudbou by ste mali obohati» o tituly ako Iné Kafe, Maduar a rôzne iné rockové uragány a
|
||||
punkové smr¹te.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Ak máte pocit, ¾e my¹ je pripravená vstúpi» do èisto slovenského prostredia va¹ich
|
||||
iXov, opatrne ju pripojte a poukazujte jej v¹etky zákutia jej vynoveného domova.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<para>E¹te by som rád pripomenul, ¾e nie v¹etky my¹i sú rovnako odolné voèi zmenám národného
|
||||
prostredia a preto sa v¾dy pri kúpe my¹i informujte na mo¾nosti poslovenèovania toho ktorého
|
||||
výrobku.</para>
|
||||
</section> <!-- xwindow-mouse -->
|
||||
|
||||
<section id="xwindow-examples">
|
||||
<title>Príklady</title>
|
||||
|
||||
<section id="xwindow-examples-xf86config">
|
||||
<title>XF86Config-4</title>
|
||||
|
||||
<para>Èas» konfiguraèného súboru X Window Systemu (4.0.1) s rozbehaným X Font Serverom,
|
||||
slovenským rozlo¾ením kláves s prepínaním medzi americkým a slovenským pomocou Shift + Ctrl.
|
||||
<programlisting>
|
||||
Section "Files"
|
||||
RgbPath "/usr/X11R6/lib/X11/rgb"
|
||||
FontPath "unix/:7100"
|
||||
ModulePath "/usr/X11R6/lib/modules"
|
||||
EndSection
|
||||
|
||||
Section "InputDevice"
|
||||
Identifier "Keyboard1"
|
||||
Driver "Keyboard"
|
||||
Option "AutoRepeat" "500 30"
|
||||
Option "XkbRules" "xfree86"
|
||||
Option "XkbModel" "pc104"
|
||||
Option "XkbLayout" "czsk"
|
||||
Option "XkbVariant" "us_sk_qwertz"
|
||||
Option "XkbOptions" "grp:ctrl_shift_toggle"
|
||||
EndSection
|
||||
</programlisting></para>
|
||||
</section> <!-- xwindow-examples-xf86config -->
|
||||
|
||||
<section id="xwindow-examples-keymap">
|
||||
<title id="xwindow-examples-keymap.title">XKB keymap</title>
|
||||
|
||||
<para>Príklad úplne jednoduchého popisu rozlo¾enia kláves pre slovenèinu:
|
||||
<programlisting>
|
||||
partial default alphanumeric_keys
|
||||
xkb_symbols "sk_us" {
|
||||
|
||||
name[Group1] = "Slovak";
|
||||
name[Group2] = "US/ASCII";
|
||||
|
||||
// line 1
|
||||
key <TLDE> { [ semicolon, degree ],
|
||||
[ quoteleft, asciitilde ] };
|
||||
key <AE01> { [ plus, 1 ],
|
||||
[ 1, exclam ] };
|
||||
key <AE02> { [ lcaron, 2 ],
|
||||
[ 2, at ] };
|
||||
key <AE03> { [ scaron, 3 ],
|
||||
[ 3, numbersign ] };
|
||||
key <AE04> { [ ccaron, 4 ],
|
||||
[ 4, dollar ] };
|
||||
key <AE05> { [ tcaron, 5 ],
|
||||
[ 5, percent ] };
|
||||
key <AE06> { [ zcaron, 6 ],
|
||||
[ 6, asciicircum ] };
|
||||
key <AE07> { [ yacute, 7 ],
|
||||
[ 7, ampersand ] };
|
||||
key <AE08> { [ aacute, 8 ],
|
||||
[ 8, asterisk ] };
|
||||
key <AE09> { [ iacute, 9 ],
|
||||
[ 9, parenleft ] };
|
||||
key <AE10> { [ eacute, 0 ],
|
||||
[ 0, parenright ] };
|
||||
key <AE11> { [ equal, percent ],
|
||||
[ minus, underscore ] };
|
||||
key <AE12> { [ dead_acute, dead_caron ],
|
||||
[ equal, plus ] };
|
||||
|
||||
// line 2
|
||||
key <AD01> { [ q, Q ],
|
||||
[ q, Q ] };
|
||||
key <AD02> { [ w, W ],
|
||||
[ w, W ] };
|
||||
key <AD03> { [ e, E ],
|
||||
[ e, E ] };
|
||||
key <AD04> { [ r, R ],
|
||||
[ r, R ] };
|
||||
key <AD05> { [ t, T ],
|
||||
[ t, T ] };
|
||||
key <AD06> { [ z, Z ],
|
||||
[ y, Y ] };
|
||||
key <AD07> { [ u, U ],
|
||||
[ u, U ] };
|
||||
key <AD08> { [ i, I ],
|
||||
[ i, I ] };
|
||||
key <AD09> { [ o, O ],
|
||||
[ o, O ] };
|
||||
key <AD10> { [ p, P ],
|
||||
[ p, P ] };
|
||||
key <AD11> { [ uacute, slash ],
|
||||
[ bracketleft, braceleft ] };
|
||||
key <AD12> { [ adiaeresis, parenleft ],
|
||||
[ bracketright, braceright ] };
|
||||
|
||||
// line 3
|
||||
key <AC02> { [ s, S ],
|
||||
[ s, S ] };
|
||||
key <AC03> { [ d, D ],
|
||||
[ d, D ] };
|
||||
key <AC04> { [ f, F ],
|
||||
[ f, F ] };
|
||||
key <AC05> { [ g, G ],
|
||||
[ g, G ] };
|
||||
key <AC08> { [ k, K ],
|
||||
[ k, K ] };
|
||||
key <AC09> { [ l, L ],
|
||||
[ l, L ] };
|
||||
key <AC10> { [ ocircumflex, quotedbl ],
|
||||
[ semicolon, colon ] };
|
||||
key <AC11> { [ section, exclam ],
|
||||
[ quoteright, quotedbl ] };
|
||||
|
||||
// line 4
|
||||
key <AB01> { [ y, Y ],
|
||||
[ z, Z ] };
|
||||
key <AB02> { [ x, X ],
|
||||
[ x, X ] };
|
||||
key <AB04> { [ v, V ],
|
||||
[ v, V ] };
|
||||
key <AB05> { [ b, B ],
|
||||
[ b, B ] };
|
||||
key <AB06> { [ n, N ],
|
||||
[ n, N ] };
|
||||
key <AB07> { [ m, M ],
|
||||
[ m, M ] };
|
||||
key <AB08> { [ comma, question ],
|
||||
[ comma, less ] };
|
||||
key <AB09> { [ period, colon ],
|
||||
[ period, greater ] };
|
||||
key <AB10> { [ minus, underscore ],
|
||||
[ slash, question ] };
|
||||
key <BKSL> { [ ncaron, parenright ],
|
||||
[ backslash, bar ] };
|
||||
// End alphanumeric section
|
||||
|
||||
// begin modifier mappings
|
||||
modifier_map Shift { Shift_L };
|
||||
modifier_map Lock { Caps_Lock };
|
||||
modifier_map Control{ Control_L };
|
||||
modifier_map Mod3 { Mode_switch };
|
||||
};
|
||||
</programlisting></para>
|
||||
</section> <!-- xwindow-examples-keymap -->
|
||||
</section> <!-- xwindow-examples -->
|
||||
</section> <!-- xwindow -->
|
||||
|
Loading…
Reference in New Issue