1618 lines
33 KiB
HTML
1618 lines
33 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Miestne nastavenia</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
|
"><LINK
|
|
REL="HOME"
|
|
TITLE="Slovak-HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Úvodné informácie"
|
|
HREF="intro.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Nastavenia konzoly"
|
|
HREF="console.html"></HEAD
|
|
><BODY
|
|
CLASS="SECTION"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Slovak-HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="intro.html"
|
|
>Predchádzajúci</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="console.html"
|
|
>Ďalší</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H1
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="LOCALES"
|
|
>2. Miestne nastavenia</A
|
|
></H1
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN99"
|
|
>2.1. Princípy miestnych nastavení</A
|
|
></H2
|
|
><P
|
|
>Podpora miestnych nastavení je dnes mimoriadne dôlež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 <SPAN
|
|
CLASS="ACRONYM"
|
|
>GNU</SPAN
|
|
>
|
|
systémoch je táto podpora implementovaná priamo do štandardnej knižnice jazyka
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>C</SPAN
|
|
> -- <SPAN
|
|
CLASS="ACRONYM"
|
|
>GNU</SPAN
|
|
> 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.</P
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN105"
|
|
>2.1.1. Ciele a prostriedky</A
|
|
></H3
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>Internacionalizácia softvéru znamená programovať ho tak, aby bol schopný pracovať s
|
|
použivateľovými miestnymi nastaveniami. V <SPAN
|
|
CLASS="ACRONYM"
|
|
>ISO</SPAN
|
|
> <SPAN
|
|
CLASS="ACRONYM"
|
|
>C</SPAN
|
|
>
|
|
pracuje internacionalizácia v zmysle <I
|
|
CLASS="FIRSTTERM"
|
|
>locales</I
|
|
>. 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).</P
|
|
><P
|
|
>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ľ.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN113"
|
|
>2.1.2. Kategórie a ich funkcie</A
|
|
></H3
|
|
><P
|
|
>Táto časť popisuje jednotlivé premenné, ktoré ovplyvňujú miestne nastavenia a ktorými
|
|
sa riadia aj funkcie knižnice <SPAN
|
|
CLASS="ACRONYM"
|
|
>GNU</SPAN
|
|
> libc.</P
|
|
><P
|
|
>Nastavenie premennej prostredia sa robí pomocou príkazu shellu
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>bash$ export LC_PREMENNA=sk
|
|
|
|
tcsh$ setenv LC_PREMENNA sk
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_PREMENNA</TT
|
|
> je jedna z nasledujúcich:
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_COLLATE</TT
|
|
> --- Triedenie reťazcov. Nastavením tejto premennej
|
|
možno prinútiť aplikácie, napr. <B
|
|
CLASS="COMMAND"
|
|
>sort</B
|
|
>, <B
|
|
CLASS="COMMAND"
|
|
>ls</B
|
|
> 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 <TT
|
|
CLASS="FUNCTION"
|
|
>strcoll</TT
|
|
> a <TT
|
|
CLASS="FUNCTION"
|
|
>strxfrm</TT
|
|
>, že napríklad
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>ch</TT
|
|
> je jedno písmeno a nasleduje hneď za <TT
|
|
CLASS="LITERAL"
|
|
>h</TT
|
|
> a nie
|
|
za <TT
|
|
CLASS="LITERAL"
|
|
>c</TT
|
|
>, že široké <TT
|
|
CLASS="LITERAL"
|
|
>ä</TT
|
|
> nasleduje za dlhým
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>á</TT
|
|
> a to zase za obyčajným <TT
|
|
CLASS="LITERAL"
|
|
>a</TT
|
|
>. Skúste si to na
|
|
príkaze <B
|
|
CLASS="COMMAND"
|
|
>sort</B
|
|
>. Zadajte písmená <TT
|
|
CLASS="LITERAL"
|
|
>cc ch hh</TT
|
|
>, potom
|
|
zmeňte <TT
|
|
CLASS="ENVAR"
|
|
>LC_COLLATE</TT
|
|
> príkazom
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>bash$ export LC_COLLATE=sk
|
|
|
|
tcsh$ setenv LC_COLLATE sk
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>Skúste to so <B
|
|
CLASS="COMMAND"
|
|
>sort</B
|
|
> znovu a porovnajte výsledok...</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_CTYPE</TT
|
|
> --- 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 <TT
|
|
CLASS="ENVAR"
|
|
>LC_ALL</TT
|
|
> alebo <TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
>
|
|
(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ú.</P
|
|
><DIV
|
|
CLASS="WARNING"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="WARNING"
|
|
WIDTH="90%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/warning.gif"
|
|
HSPACE="5"
|
|
ALT="Varovanie"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
>Vždy si buďte stopercentne istí, že máte túto premennú nastavenú (buď cez
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_ALL</TT
|
|
>, <TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
> alebo priamo), lebo inak nemá zmysel
|
|
čítať ďalej! Ono <SPAN
|
|
CLASS="QUOTE"
|
|
>„klasifikácia a prevod znakov“</SPAN
|
|
> neznie nejako lákavo,
|
|
ale vedzte, že je to sakramentsky dôležité pre život slovenských písmeniek vo vašom
|
|
Linuxe!</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_MONETARY</TT
|
|
>, <TT
|
|
CLASS="ENVAR"
|
|
>LC_NUMERIC</TT
|
|
> --- 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ď.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_TIME</TT
|
|
> --- 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,
|
|
...</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_MESSAGES</TT
|
|
> --- 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.</P
|
|
></LI
|
|
></UL
|
|
>
|
|
</P
|
|
><P
|
|
>S prekladom hlásení programov, hlavne s umiestnením súborov s preloženými reťazcami,
|
|
súvisí premenná <TT
|
|
CLASS="ENVAR"
|
|
>NLSPATH</TT
|
|
>. Mala by obsahovať dvojbodkami oddelený zoznam
|
|
adresárov, v ktorých sa budú hľadať <TT
|
|
CLASS="FILENAME"
|
|
>.mo</TT
|
|
> súbory pre miestne nastavenia
|
|
dané premennou <TT
|
|
CLASS="ENVAR"
|
|
>LC_MESSAGES</TT
|
|
>. Premennú <TT
|
|
CLASS="ENVAR"
|
|
>NLSPATH</TT
|
|
> 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.</P
|
|
><P
|
|
>Okrem týchto premenných bolo implementovaných niekoľko ďalších, ktoré zatiaľ nie sú
|
|
zdokumentované (<I
|
|
CLASS="CITETITLE"
|
|
>The GNU C Library Reference Manual</I
|
|
>). Ich význam je
|
|
zrejmý z názvu, takže uvediem aj svoju dedukciu.</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_PAPER</TT
|
|
> --- Formát papiera. V našich zemepisných šírkach sa
|
|
napríklad používa formát <SPAN
|
|
CLASS="ACRONYM"
|
|
>A4</SPAN
|
|
>, v Amerike je to
|
|
Letter, atď. Pozor, táto premenná neobsahuje priamo názov formátu, ale (tak, ako všetky
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_</TT
|
|
> premenné), skratku miestneho nastavenia, teda u nás to bude
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>sk</TT
|
|
>. 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 <TT
|
|
CLASS="CONSTANT"
|
|
>us</TT
|
|
>. V tomto prípade je nutné nainštalovať balík s
|
|
miestnymi nastaveniami pre túto krajinu (<SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-us</SPAN
|
|
>).
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_NAME</TT
|
|
> --- 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...</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_ADDRESS</TT
|
|
> --- Spôsob zápisu adresy. Poradie ulice a popisného
|
|
čísla domu, ZIP kód, PSČ apod.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_TELEPHONE</TT
|
|
> --- Formát telefónnych a faxových čísel. Určuje
|
|
zoskupovanie číslic, ich oddelovanie, počet čísel predvoľby, ...</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_MEASUREMENT</TT
|
|
> --- Miery. Jednotky hmotnosti, objemu, teploty a
|
|
dĺžky, používané v tej ktorej krajine. Program napísaný v <SPAN
|
|
CLASS="ACRONYM"
|
|
>USA</SPAN
|
|
> bude
|
|
pravdepodobne počítať s galónmi vody, ale ak je správne napísaný, s premennou
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_MEASUREMENT</TT
|
|
> nastavenou na <SPAN
|
|
CLASS="QUOTE"
|
|
>„sk“</SPAN
|
|
> bude zobrazovať litre v
|
|
správnom pomere. To isté platí napríklad pre prevod teploty vo Fahrenheitovej stupnici
|
|
na stupne Celsia.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_IDENTIFICATION</TT
|
|
> --- Az apád, tak toto neviem. Rodné číslo?
|
|
Číslo sociálneho poistenia? Číslo topánok?</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN198"
|
|
>2.1.3. Ďalšie premenné</A
|
|
></H3
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_ALL</TT
|
|
> --- Ak je táto premenná nastavená, použije sa jej hodnota
|
|
pre všetky vyššie spomenuté skupiny locales, bez ohľadu na hodnotu príslušných
|
|
premenných.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
> --- Hodnota tejto premennej sa použije pre tie skupiny
|
|
locales, ktoré nemajú príslušnú premennú nastavenú.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LANGUAGE</TT
|
|
> --- 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 <TT
|
|
CLASS="ENVAR"
|
|
>LANGUAGE</TT
|
|
>. 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 <TT
|
|
CLASS="ENVAR"
|
|
>LANGUAGE</TT
|
|
>. To je 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é
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>LANGUAGE="sk:cz"</TT
|
|
> a Szolvák z Komárom zase
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>LANGUAGE="hu:sk"</TT
|
|
>.</P
|
|
><DIV
|
|
CLASS="CAUTION"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="CAUTION"
|
|
WIDTH="90%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/caution.gif"
|
|
HSPACE="5"
|
|
ALT="Výstraha"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
>Premenná <TT
|
|
CLASS="ENVAR"
|
|
>LANGUAGE</TT
|
|
> ovplyvňuje len premennú
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_MESSAGES</TT
|
|
>! Pre správnu funkciu je nutné nastaviť aj ostatné premenné
|
|
(minimálne <TT
|
|
CLASS="ENVAR"
|
|
>LC_CTYPE</TT
|
|
>).</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LINGUAS</TT
|
|
> --- Táto premenná nemá špeciálny význam z hľadiska
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>GNU</SPAN
|
|
> 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:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>bash$ export LINGUAS="sk cz"
|
|
bash$ ./configure
|
|
bash$ make install
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>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 <TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
> a
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_ALL</TT
|
|
>, tieto ale môžu obsahovať len jeden kód miestnych
|
|
nastavení.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>RPM_INSTALL_LANG</TT
|
|
> --- Č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 <SPAN
|
|
CLASS="ACRONYM"
|
|
>RPM4</SPAN
|
|
> možné určiť jazyk, ktorého
|
|
preložené hlášky sa budú inštalovať. Preto odporúčam do súboru
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>.bash_profile</TT
|
|
> (<TT
|
|
CLASS="FILENAME"
|
|
>.login</TT
|
|
>) užívateľa, ktorý
|
|
inštaluje balíky (root), vložiť nasledovný riadok:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>bash$ export RPM_INSTALL_LANG=sk
|
|
|
|
tcsh$ setenv RPM_INSTALL_LANG "sk"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>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 <A
|
|
HREF="apps.html#APPS-RPM4"
|
|
><I
|
|
>RPM4</I
|
|
></A
|
|
>.</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN236"
|
|
>2.1.4. Priorita premenných</A
|
|
></H3
|
|
><P
|
|
>Miestne nastavenia sa určujú zo spomenutých premenných, pričom tieto sa vyhodnocujú v
|
|
tomto poradí:
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LANGUAGE</TT
|
|
> --- ovplyvňuje len <TT
|
|
CLASS="ENVAR"
|
|
>LC_MESSAGES</TT
|
|
>
|
|
</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_ALL</TT
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LC_*</TT
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
></TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></P
|
|
><P
|
|
>To znamená asi toľko, že keď raz nastavíte <TT
|
|
CLASS="ENVAR"
|
|
>LC_ALL</TT
|
|
>, jednotlivé
|
|
premenné <TT
|
|
CLASS="ENVAR"
|
|
>LC_*</TT
|
|
> sa už neberú do úvahy. Na druhej strane, ak máte
|
|
napríklad nastavené len niektoré z <TT
|
|
CLASS="ENVAR"
|
|
>LC_*</TT
|
|
>, ostatné sa nastavia na hodnotu
|
|
premennej <TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
>.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN254"
|
|
>2.1.5. Kódy miestnych nastavení</A
|
|
></H3
|
|
><P
|
|
>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:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#6495ED"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SYNOPSIS"
|
|
>jazyk[_územie[.kódovanie]][@modifikátor]
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
><TT
|
|
CLASS="ENVAR"
|
|
>jazyk</TT
|
|
> je napr. <TT
|
|
CLASS="CONSTANT"
|
|
>sk</TT
|
|
> pre slovenčinu,
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>cs</TT
|
|
> pre češtinu, <TT
|
|
CLASS="CONSTANT"
|
|
>hu</TT
|
|
> pre maďarčinu, územie je
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>SK</TT
|
|
> pre Slovensko, <TT
|
|
CLASS="CONSTANT"
|
|
>CZ</TT
|
|
> pre Českú republiku,
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>HU</TT
|
|
> pre Maďarsko, kódovanie je <TT
|
|
CLASS="CONSTANT"
|
|
>ISO-8859-2</TT
|
|
> 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
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>euro</TT
|
|
> 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 <TT
|
|
CLASS="CONSTANT"
|
|
>iso-8859-15</TT
|
|
>, ktoré
|
|
definuje znaky euro a cent.</P
|
|
><P
|
|
>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):
|
|
<DIV
|
|
CLASS="TABLE"
|
|
><A
|
|
NAME="AEN270"
|
|
></A
|
|
><P
|
|
><B
|
|
>Tabuľka 1. Príklady kódov miestnych nastavení</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>sk_SK.ISO-8859-2</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>sk_SK</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> </TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>sk</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>cs_CZ.ISO-8859-2</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>cs_CZ@-ch</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>cs@-ch</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>cs</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>en_GB.iso8859</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>en_GB</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>en@euro</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>en</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>ja_JP.ujis</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>ja_JP.EUC</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>ja_JP</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
>ja</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
></P
|
|
><P
|
|
>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 <SPAN
|
|
CLASS="ACRONYM"
|
|
>ISO</SPAN
|
|
> <SPAN
|
|
CLASS="ACRONYM"
|
|
>C</SPAN
|
|
> a <SPAN
|
|
CLASS="ACRONYM"
|
|
>POSIX</SPAN
|
|
>
|
|
odlišovať a potom to bude záležať na konfigurácii systému.
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>C</TT
|
|
> --- nastavenia podľa štandardu <SPAN
|
|
CLASS="ACRONYM"
|
|
>ISO</SPAN
|
|
>
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>C</SPAN
|
|
>.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
><TT
|
|
CLASS="CONSTANT"
|
|
>POSIX</TT
|
|
> --- nastavenia podľa štandardu
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>POSIX</SPAN
|
|
>. V súčasnosti je to alias pre nastavenia
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>C</TT
|
|
>.</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="LOCALES-SLOVAKIA"
|
|
>2.2. Miestne nastavenia pre Slovensko</A
|
|
></H2
|
|
><P
|
|
>V prvom rade treba nainštalovať balík s podporou miestnych nastavení, ktorý má názov
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>locales</SPAN
|
|
> a tiež balík s podporou priamo pre Slovensko ---
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-sk</SPAN
|
|
>. 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.</P
|
|
><P
|
|
>V druhom rade si musíte nainštalovať balíky s podporou miestnych nastavení a priamo
|
|
slovenčiny (sú to <SPAN
|
|
CLASS="APPLICATION"
|
|
>locales</SPAN
|
|
> a <SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-sk</SPAN
|
|
>).
|
|
</P
|
|
><P
|
|
>V ďalšom kroku si nezabudnite nainštalovať balíky <SPAN
|
|
CLASS="APPLICATION"
|
|
>locales</SPAN
|
|
> a
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-sk</SPAN
|
|
>. Takisto, pre každý jazyk, ktorý sa chystáte používať,
|
|
si nainštalujte balík s podporou miestnych nastavení.</P
|
|
><P
|
|
>V prípade problémov s miestnymi nastaveniami sa držte predchádzajúcich troch krokov.
|
|
</P
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN319"
|
|
>2.2.1. Súbory s miestnymi nastaveniami</A
|
|
></H3
|
|
><P
|
|
>Prejdime sa teraz trochu po našich adresároch. Prvý navštívime <TT
|
|
CLASS="FILENAME"
|
|
>/usr/share/locale/sk</TT
|
|
>. Na prvý pohľad vidno, že adresár a
|
|
súbory v tomto adresári majú mená totožné s premennými, pomocou ktorých sa nastavujú
|
|
jednotlivé kategórie miestnych nastavení. Je to preto, lebo práve z týchto súborov sa
|
|
načítajú nastavenia, keď je daná premenná nastavená na hodnotu <TT
|
|
CLASS="CONSTANT"
|
|
>sk</TT
|
|
>.
|
|
Okrem nich tu môže byť ešte súbor <TT
|
|
CLASS="FILENAME"
|
|
>charset</TT
|
|
>, ktorý obsahuje len jeden
|
|
riadok s reťazcom <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>iso-8859-2</TT
|
|
>. Ten hovorí, aké kódovanie
|
|
znakov sa má použiť pre dané miestne nastavenia.</P
|
|
><P
|
|
>Všetky súbory v tomto adresári sú binárne dáta a adresár <TT
|
|
CLASS="ENVAR"
|
|
>LC_MESSAGES</TT
|
|
>
|
|
obsahuje súbory, ktorých mená sú totožné s názvami 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 <TT
|
|
CLASS="ENVAR"
|
|
>LC_*</TT
|
|
>.
|
|
</P
|
|
><P
|
|
>Presuňme sa do adresára <TT
|
|
CLASS="FILENAME"
|
|
>/usr/share/i18n/</TT
|
|
>. Tu, v
|
|
textovom súbore <TT
|
|
CLASS="FILENAME"
|
|
>sk_SK</TT
|
|
> v podadresári
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>locales/</TT
|
|
> 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
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/usr/share/locales/sk/</TT
|
|
> príkazom, ktorý údaje v súbore
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>sk_SK</TT
|
|
> skompiluje a uloží do súborov
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_COLLATE</TT
|
|
>, <TT
|
|
CLASS="ENVAR"
|
|
>LC_CTYPE</TT
|
|
>, ...
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>sh$ localedef -i sk_SK -f ISO-8859-2 sk_SK
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>V podadresári <TT
|
|
CLASS="FILENAME"
|
|
>/usr/share/i18n/charmaps/</TT
|
|
> sa
|
|
nachádzajú súbory s popismi jednotlivých kódovani znakov. Pre Slovensko je aktuálny
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>ISO-8859-2</TT
|
|
> (čo je aj obsah spomínaneho súboru
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>charset</TT
|
|
>).</P
|
|
><P
|
|
>V adresári <TT
|
|
CLASS="FILENAME"
|
|
>/usr/share/locale/</TT
|
|
> sa nachádza súbor
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>locale.alias</TT
|
|
>, ktorý definuje tzv. <I
|
|
CLASS="FIRSTTERM"
|
|
>aliasy</I
|
|
> pre
|
|
kódy miestnych nastavení. Pre správnu funkciu slovenských miestnych nastavení by mal
|
|
obsahovať tieto dva riadky:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>sk sk_SK.ISO-8859-2
|
|
slovak sk_SK.ISO-8859-2
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>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.</P
|
|
><DIV
|
|
CLASS="WARNING"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="WARNING"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/warning.gif"
|
|
HSPACE="5"
|
|
ALT="Varovanie"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
>Ale na aliasy typu <TT
|
|
CLASS="CONSTANT"
|
|
>slovak</TT
|
|
> si dávajte bacha! Niektoré
|
|
aplikácie, ktoré v súvislosti s miestnymi nastaveniami nevyužívajú služby libc, totiž na
|
|
aliasy kašľú a zaujímajú ich len prvé dva znaky nastavených premenných. A tak sa zo
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>slovak</TT
|
|
> stane <TT
|
|
CLASS="CONSTANT"
|
|
>sl</TT
|
|
>, čo je Slovinsko. Pozitívne je,
|
|
že pre slovenčinu môžete nastaviť premennú napríklad na hodnotu
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>skaderukaskadenoha</TT
|
|
>.</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN358"
|
|
>2.2.2. Konfigurácia miestnych nastavení</A
|
|
></H3
|
|
><P
|
|
>Nastavenia internacionalizácie sa (v <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>RedHat</SPAN
|
|
> a
|
|
<SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>Mandrake</SPAN
|
|
>) nachádzajú v súbore
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/sysconfig/i18n</TT
|
|
>. Je to veľmi užitočný súbor, ktorý si rýchlo
|
|
obľúbite. Možno v ňom 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ť (<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>source /etc/sysconfig/i18n</TT
|
|
>) do inicializačných
|
|
skriptov. Exportovanie premenných (odovzdanie ostatným aplikáciám) má na starosti skript
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/profile.d/lang.sh</TT
|
|
> (<SPAN
|
|
CLASS="APPLICATION"
|
|
>bash</SPAN
|
|
>) alebo
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/profile.d/lang.csh</TT
|
|
> (<SPAN
|
|
CLASS="APPLICATION"
|
|
>tcsh</SPAN
|
|
>). Tento sa
|
|
vykoná pri každom štarte shellu, typicky je volaný z <TT
|
|
CLASS="FILENAME"
|
|
>/etc/profile</TT
|
|
>
|
|
(<SPAN
|
|
CLASS="APPLICATION"
|
|
>bash</SPAN
|
|
>) alebo <TT
|
|
CLASS="FILENAME"
|
|
>/etc/csh.cshrc</TT
|
|
>
|
|
(<SPAN
|
|
CLASS="APPLICATION"
|
|
>tcsh</SPAN
|
|
>).</P
|
|
><P
|
|
>Súbor <TT
|
|
CLASS="FILENAME"
|
|
>/etc/sysconfig/i18n</TT
|
|
> 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 <TT
|
|
CLASS="FILENAME"
|
|
>.i18n</TT
|
|
> 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 <TT
|
|
CLASS="FILENAME"
|
|
>˜/.i18n</TT
|
|
>, nastavenia zo súboru
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/sysconfig/i18n</TT
|
|
> sa ignorujú.</P
|
|
><P
|
|
>Užívateľ si môže zmeniť nastavenia aj ručne, kedykoľvek sa mu zachce, nastavením
|
|
premenných prostredia
|
|
<TT
|
|
CLASS="ENVAR"
|
|
>LC_MESSAGES</TT
|
|
>, <TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
>, atď.</P
|
|
><P
|
|
>Vypnúť nejaké nastavenie je možné príkazom
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>sh$ unset LC_MESSAGES LANG
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>Tým sa zrušia nastavenia daných premenných (a použije sa štandardné locale
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>C</TT
|
|
> alebo <TT
|
|
CLASS="CONSTANT"
|
|
>POSIX</TT
|
|
>).</P
|
|
><P
|
|
>Ak máte napríklad nastavené premenné <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>LC_ALL=sk</TT
|
|
> a
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>LC_MESSAGES=cz</TT
|
|
>, tak po príkaze <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>unset
|
|
LC_ALL</TT
|
|
> 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.</P
|
|
><DIV
|
|
CLASS="NOTE"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="NOTE"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/note.gif"
|
|
HSPACE="5"
|
|
ALT="Poznámka"></TD
|
|
><TH
|
|
ALIGN="LEFT"
|
|
VALIGN="CENTER"
|
|
><B
|
|
>export/setenv</B
|
|
></TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
> </TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
>Neodpustím si malú poznámku k príkazu <B
|
|
CLASS="COMMAND"
|
|
>export</B
|
|
>. Je to vstavaná
|
|
funkcia všetkých shellov kompatibilných s klasickým <SPAN
|
|
CLASS="APPLICATION"
|
|
>sh</SPAN
|
|
> (teda aj
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>bash</SPAN
|
|
>). Pre shelly typu <SPAN
|
|
CLASS="APPLICATION"
|
|
>tcsh</SPAN
|
|
> je
|
|
ekvivalentom príkaz <B
|
|
CLASS="COMMAND"
|
|
>setenv</B
|
|
>.</P
|
|
><P
|
|
>Je dôležité uvedomiť si, čo presne tento príkaz robí s premennými. V dokumentácii k
|
|
bashu sa hovorí, že <B
|
|
CLASS="COMMAND"
|
|
>export</B
|
|
> označí premennú, aby bola odovzdaná detským
|
|
(<I
|
|
CLASS="FOREIGNPHRASE"
|
|
>child</I
|
|
>) procesom v rámci prostredia
|
|
(<I
|
|
CLASS="FOREIGNPHRASE"
|
|
>environment</I
|
|
>). To znamená asi toľko, že keď spustíte napr.
|
|
iXy z materského procesu <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>bash</SPAN
|
|
>, ktorý pri štarte
|
|
exportoval premennú <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>LANG=sk</TT
|
|
>, všetky aplikácie v prostredí
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>X Window System</SPAN
|
|
> 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 <SPAN
|
|
CLASS="APPLICATION"
|
|
>xterme</SPAN
|
|
> zadať príkaz <TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>unset
|
|
LANG</TT
|
|
> (<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>unsetenv LANG</TT
|
|
> pre
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>tcsh</SPAN
|
|
>), čím pre všetky detské procesy
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>xtermu</SPAN
|
|
> (presnejšie shellu, ktorý je v ňom spustený), zrušíte
|
|
nastavenie premennej <TT
|
|
CLASS="ENVAR"
|
|
>LANG</TT
|
|
>. Potom aplikácie spustené priamo z tohto xtermu
|
|
budú fungovať bez podpory slovenčiny. Trochu sa s tým pohrajte.</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H3
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="AEN415"
|
|
>2.2.3. Nastavenie časovej zóny</A
|
|
></H3
|
|
><P
|
|
>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:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>bash$ export TZ="Europe/Bratislava"
|
|
|
|
tcsh$ setenv TZ "Europe/Bratislava"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>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 pracovať s časom v stredoeurópskej zóne. Do svojho súboru
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>.bash_profile</TT
|
|
> (<TT
|
|
CLASS="FILENAME"
|
|
>.login</TT
|
|
> pre
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>tcsh</SPAN
|
|
>) vložte vyššie uvedený riadok.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="LOCALES-EXAMPLES"
|
|
>2.3. Príklady miestnych nastavení</A
|
|
></H2
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>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 <SPAN
|
|
CLASS="APPLICATION"
|
|
>Gimpe</SPAN
|
|
>. Darujte mu
|
|
súbor <TT
|
|
CLASS="FILENAME"
|
|
>.i18n</TT
|
|
> s nasledovným obsahom (aj na takéto malé oné potrebuje
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-sk</SPAN
|
|
>):
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>LC_CTYPE=sk
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>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 <SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-cs</SPAN
|
|
>):
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>LANGUAGE=sk:cs
|
|
LANG=sk
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>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
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>locales-{sk,hu,cs}</SPAN
|
|
> nepredstavuje bezpečnostné riziko:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>LANGUAGE=hu:sk:cs
|
|
LC_COLLATE=sk
|
|
LC_TIME=cs
|
|
LANG=hu
|
|
LINGUAS="hu cs sk"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="intro.html"
|
|
>Predchádzajúci</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
>Domov</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="console.html"
|
|
>Ďalší</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Úvodné informácie</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Nastavenia konzoly</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |