Available in

(1) (1)/fr (1posix) (3perl) (5) (5)/es (5)/fr (5)/it (5)/ja (5)/pl (5)/pt (5)/zh_CN (5)/zh_TW (7) (7)/cs (7)/de (7)/es (7)/fr (7)/hu (7)/it (7)/ja (7)/pl (7)/pt (7)/ru (7)/zh_CN (7)/zh_TW

TOC

LOCALE(7)                  Linux Programmer's Manual                 LOCALE(7)



NÉV

       locale - a többnyelvűség támogatásának leírása

ÁTTEKINTÉS

       #include <locale.h>

LEÍRÁS

       A  locale nyelvi és kultúrális szabályok összesége. Magában foglalja az
       a  programok  üzeneteinek   nyelvét,   különféle   karakterkészleteket,
       ábécésorrendet,  stb.  A programoknak meg kell tudniuk állapítani, hogy
       milyen locale alatt futnak, és  ennek  megfelelően  kell  viselkedniük,
       annak  érdekében, hogy különböző kultúrák között hordozhatóak legyenek.

       A <locale.h> fejlécfájl olyan adattípusokat, függvényeket  és  makrókat
       deklarál, amelyek segítenek ezt a feladatot megoldani.

       A  setlocale()  függvénnyel  állíthatjuk  be  az  aktuális  locale-t. A
       localeconv()  függvény  adja  vissza  számok  formázásával  kapcsolatos
       információt.

       A  program  által  igényelt  lokalizációs  információk több kategóriába
       sorolhatók, ezeket makróként deklarálták. A setlocale()  függvény  első
       argumentumaként megadva lehet ezeket beállítani:

       LC_COLLATE
              Ez   a   strcoll()   és  a  strxfrm(),  függvények  viselkedését
              befolyásolja, amelyek két karakterláncot hasonlítanak  össsze  a
              helyi  ábácé  szerint.  Például  a német "ß" az abécében az "ss"
              betűkapcsolatnak felel meg.

       LC_CTYPE
              Ez   a   karakterkezelő   és    karakterosztályozó    függvények
              viselkedését  változtatja  meg,  például az isupper() és a toup-
              per(),  és  a  több-bájtos  karaktereket  kezelő   függvényekét,
              például az mblen() vagy az wctomb().

       Az     LC_MONETARY  a localeconv() által visszadott értéket változtatja
              meg, amely a számok nyomtatásának módját határozza meg,  például
              hogy   tizedesvesszőt  vagy  tizedespontot  használ-e  az  adott
              locale. Ezt az információt az strfmon() függvény is használja.

       Az     LC_MESSAGES megváltoztatja az üzenetek nyelvét, és a  beleegyező
              illetve  az  elutasító  válasz  megjelenését.  A  GNU-C könyvtár
              rpmatch() függvénye  megkönnyíti  ezeknek  az  információknak  a
              használatát.

       Az     LC_NUMERIC a printf() és a scanf() függvénycsalád által használt
              információkat változtatja meg, ha figyelembe  vetetjük  velük  a
              locale   beállítását.   Ezt   az   információt   a  localeconv()
              függvénnyel is kiolvashatjuk.

       Az     LC_TIME az  strftime()  függvény  viselkedését  változtatja  meg
              annak  érdekében,  hogy  az  időt  az  adott  helynek  megfelelő
              formában írja ki. Például a legtöbb európai  országban  24  órás
              rendszerben  mérik  az  időt, míg az USA-ban a 12 órás rendszert
              használják.

       LC_ALL Minden, ami eddig felsorolásra került.

       Ha a setlocale() második argumentuma üres  karakterlánc,  "",  akkor  a
       használandó locale a következő lépések szerint kerül meghatározásra:

       1.     Ha  létezik  az LC_ALL környezeti változó, és az értéke nem üres
              karakterlánc,  akkor  az  LC_ALL  értékét   fogja   a   függvény
              használni.

       2.     Ha  létezik  egy a fenti kategóriákkal megegyező nevű környezeti
              változó, és az értéke nem  üres  karakterlánc,  akkor  annak  az
              értékét fogja a függvény használni arra a kategóriára.

       3.     Ha  létezik  a  LANG  környezeti  változó, és az értéke nem üres
              karakterlánc, akkor a LANG értékét fogja a függvény használni.

       A számok formátumát az struct lconv struktúrából olvashatjuk  ki,  ame-
       lyet  a  localeconv()  függvény  ad  vissza. A struktúra deklarációja a
       következő:
       struct lconv
       {
         /* Numerikus (nem pénzügyi) információk */

         char *decimal_point;        /* tizedespont karakter  */
         char *thousands_sep;        /* az ezreseket elválasztó karakter  */
         /* Minden elem az adott csoportban lévő számjegyek számát adja meg,
            jobbról balra. Ha egy elem értéke CHAR_MAX, az azt jelenti, hogy nincs
            további csoportosítás. Ha egy elem értéke 0, az azt jelenti, hogy az
            előző elem értéket kell használni az ettől balra eső csoportokra. */
         char *grouping;

         /* Pénzügyi információk  */

         /* Az első három karakter a pénznem jele az ISO 4217 szerint.
            A negyedik karakter az elválasztó, az ötödik ' '.  */
         char *int_curr_symbol;
         char *currency_symbol; /* a helyi pénznem jele  */
         char *mon_decimal_point;    /* tizedespont karakter  */
         char *mon_thousands_sep;    /* az ezreseket elválasztó karakter  */
         char *mon_grouping;         /* mint a `grouping' elem (lásd fent) */
         char *positive_sign;        /* pozitív előjel  */
         char *negative_sign;        /* negatív előjel  */
         char int_frac_digits;       /* nemzetközi tört számjagyek  */
         char frac_digits;      /* helyi tört számjegyek  */
         /* 1 ha a currency_symbol a pozitív érték előtt van, 0 ha mögötte.  */
         char p_cs_precedes;
         /* 1 ha a currency_symbol és a pozitív érték között van szóköz.  */
         char p_sep_by_space;
         /* 1 ha a currency_symbol a negatív érték előtt van, 0 ha mögötte.  */
         char n_cs_precedes;
         /* 1 ha a currency_symbol és a negatív érték között van szóköz.  */
         char n_sep_by_space;
         /* A pozitív és negatív előjel pozíciója:
            0 a mennyiség és a currency_symbol zárójelben van.
            1 Az előjel a mennyiség és a currency_symbol előtt van.
            2 Az előjel a mennyiség és a currency_symbol mögött van.
            3 Az előjel közvetlenül a mennyiség és a currency_symbol előtt van.
            4 Az előjel közvetlenül a mennyiség és a currency_symbol mögött van.  */
         char p_sign_posn;
         char n_sign_posn;
       };

MEGFELELÉS

       POSIX.1

LÁSD MÉG

       setlocale(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strf-
       mon(3), strcoll(3), strxfrm(3), strftime(3)

MAGYAR FORDÍTÁS

       Tímár András <timar_a [AT] freemail.hu>



Linux                           April 24, 1993                       LOCALE(7)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.