xenial (7) locale.7.gz

Provided by: manpages-hu_20010119-5_all bug

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 toupper(), é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, amelyet 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),  strfmon(3),  strcoll(3),  strxfrm(3),
       strftime(3)

MAGYAR FORDÍTÁS

       Tímár András <timar_a@freemail.hu>