Provided by: manpages-ro_4.27.0-1_all bug

NUME

       locale - descrierea suportului multilingvistic

SINOPSIS

       #include <locale.h>

DESCRIERE

       O  configurație  regională este un set de reguli lingvistice și culturale. Acestea acoperă aspecte cum ar
       fi limba pentru mesaje, seturi de caractere diferite, convenții lexicografice  și  așa  mai  departe.  Un
       program  trebuie  să  fie  capabil  să  determine  configurația regională a sistemului și să acționeze în
       consecință pentru a fi portabil în diferite culturi.

       Antetul <locale.h> declară tipuri de date, funcții și macro-uri care sunt utile în această sarcină.

       Funcțiile pe care le declară  sunt  setlocale(3)  pentru  a  defini  configurația  regională  curentă  și
       localeconv(3) pentru a obține informații despre formatarea numerelor.

       Există  diferite  categorii  de  informații  locale de care un program ar putea avea nevoie; acestea sunt
       declarate ca macro-uri. Utilizându-le ca prim argument al funcției setlocale(3), este posibil să definiți
       una dintre acestea la parametrul regional dorit:

       LC_ADDRESS (extensie GNU, începând cu glibc 2.2)
              Modifică configurările care descriu formatele (de exemplu, adresele poștale)  utilizate  pentru  a
              descrie  locațiile  și  elementele  legate  de  geografie.  Aplicațiile  care  au nevoie de aceste
              informații pot utiliza nl_langinfo(3)  pentru  a  extrage  elemente  nestandardizate,  cum  ar  fi
              _NL_ADDRESS_COUNTRY_NAME  (numele  țării,  în  limba  localului)  și _NL_ADDRESS_LANG_NAME (numele
              limbii, în limba  configurației  regionale),  care  returnează  șiruri  de  caractere  cum  ar  fi
              „Deutschland”  și  „Deutsch” (pentru parametrii regionali de limbă germană). Alte nume de elemente
              sunt enumerate în <langinfo.h>.

       LC_COLLATE
              Această categorie  guvernează  regulile  de  colaționare  utilizate  pentru  sortare  și  expresii
              regulate,   inclusiv   clasele   de  echivalență  a  caracterelor  și  elementele  de  colaționare
              multi-caracter.  Această  categorie  locală  modifică  comportamentul  funcțiilor  strcoll(3)   și
              strxfrm(3),  care sunt utilizate pentru a compara șiruri în alfabetul local. De exemplu, s ascuțit
              german, numit și „eszett” (ß) este sortat ca „ss”.

       LC_CTYPE
              Această categorie  determină  interpretarea  secvențelor  de  octeți  ca  caractere  (de  exemplu,
              caractere  cu un singur octet versus caractere cu mai multe octeți), clasificarea caracterelor (de
              exemplu, alfabetice sau cifre) și  comportamentul  claselor  de  caractere.  În  sistemele  glibc,
              această  categorie  determină  și  regulile  de  transliterare  a  caracterelor pentru iconv(1) și
              iconv(3). Aceasta modifică comportamentul funcțiilor de tratare  și  clasificare  a  caracterelor,
              precum  isupper(3)  și  toupper(3),  și al funcțiilor de caractere multioctet, precum mblen(3) sau
              wctomb(3).

       LC_IDENTIFICATION (extensie GNU, începând cu glibc 2.2)
              Modifică regurile care se referă la metadatele pentru parametrii regionali.  Aplicațiile  care  au
              nevoie  de aceste informații pot utiliza nl_langinfo(3) pentru a extrage elemente nestandardizate,
              cum ar  fi  _NL_IDENTIFICATION_TITLE  (titlul  acestui  document  de  configurație  regională)  și
              _NL_IDENTIFICATION_TERRITORY   (teritoriul   geografic  căruia  i  se  aplică  acest  document  de
              configurație regională), care ar putea returna șiruri de caractere precum „English locale for  the
              USA” și „USA”. Alte nume de elemente sunt enumerate în <langinfo.h>.

       LC_MONETARY
              Această  categorie  determină  formatarea  utilizată  pentru  valorile numerice monetare.  Aceasta
              modifică informațiile returnate de localeconv(3), care descriu modul în  care  sunt  imprimate  de
              obicei  numerele,  cu  detalii  precum punctul zecimal versus virgula zecimală. Această informație
              este utilizată intern de funcția strfmon(3).

       LC_MESSAGES
              Această categorie afectează limba în care sunt afișate mesajele și modul în care arată un  răspuns
              afirmativ  sau  negativ.  Biblioteca GNU C conține funcțiile gettext(3), ngettext(3) și rpmatch(3)
              pentru a facilita utilizarea acestor informații. Familia de funcții  GNU  gettext  se  supune,  de
              asemenea,  variabilei de mediu LANGUAGE (care conține o listă de parametri regionali separați prin
              două puncte) dacă categoria este definită la un alt parametru regional valid  decât  "C".  Această
              categorie afectează, de asemenea, comportamentul lui catopen(3).

       LC_MEASUREMENT (extensie GNU, începând cu glibc 2.2)
              Modifică  configurările  legate  de  sistemul  de  măsurare  local (adică, unități metrice față de
              unități uzuale americane). Aplicațiile pot  utiliza  nl_langinfo(3)  pentru  a  extrage  elementul
              _NL_MEASUREMENT_MEASUREMENT  nestandardizat,  care  returnează un indicator către un caracter care
              are valoarea 1 (metric) sau 2 (unități uzuale americane).

       LC_NAME (extensie GNU, începând cu glibc 2.2)
              Modifică configurările care descriu formatele utilizate pentru adresarea persoanelor.  Aplicațiile
              care  au  nevoie  de  aceste  informații  pot  utiliza  nl_langinfo(3)  pentru  a  prelua elemente
              non-standard,  cum  ar  fi  elementele  _NL_NAME_NAME_MR  (salutul  general  pentru  bărbați)   și
              _NL_NAME_NAME_MS  (salutul  general  pentru femei), care returnează șiruri precum „Herr” și „Frau”
              (pentru configurațiile regionale de limbă germană).  Alte  nume  de  elemente  sunt  enumerate  în
              <langinfo.h>.

       LC_NUMERIC
              Această categorie determină regulile de formatare utilizate pentru valorile numerice nemonetare --
              de  exemplu,  separatorul de mii și caracterul zecimal (un punct în majoritatea țărilor vorbitoare
              de limba engleză, dar  o  virgulă  în  multe  alte  regiuni).  Aceasta  afectează  funcții  precum
              printf(3), scanf(3) și strtod(3).  Aceste informații pot fi citite și cu funcția localeconv(3).

       LC_PAPER (extensie GNU, începând cu glibc 2.2)
              Modifică  configurările  referitoare  la  dimensiunile  mărimii standard a hârtiei (de exemplu, US
              letter versus A4). Aplicațiile care au nevoie de dimensiuni le pot obține utilizând nl_langinfo(3)
              pentru a extrage elementele non-standard  _NL_PAPER_WIDTH  și  _NL_PAPER_HEIGHT,  care  returnează
              valori int specificând dimensiunile în milimetri.

       LC_TELEPHONE (extensie GNU, începând cu glibc 2.2)
              Modifică  configurările  care  descriu  formatele  care  urmează  să  fie  utilizate cu serviciile
              telefonice. Aplicațiile care au nevoie de aceste informații pot utiliza  nl_langinfo(3)  pentru  a
              prelua elemente nestandardizate, cum ar fi _NL_TELEPHONE_INT_PREFIX (prefix internațional utilizat
              pentru  apelarea numerelor în această configurație regională), care returnează un șir de caractere
              cum ar fi „40” (pentru România). Alte nume de elemente sunt enumerate în <langinfo.h>.

       LC_TIME
              Această categorie reglementează formatarea utilizată pentru valorile datei și orei.   De  exemplu,
              cea  mai mare parte a Europei utilizează un ceas de 24 de ore față de ceasul de 12 ore utilizat în
              Statele Unite.  Configurarea  acestei  categorii  afectează  comportamentul  unor  funcții  precum
              strftime(3) și strptime(3).

       LC_ALL Toate cele de mai sus.

       Dacă  cel  de-al  doilea  argument  al  funcției  setlocale(3)  este  un șir gol, "", pentru configurația
       regională implicită, aceasta este determinată folosind următorii pași:

       (1)  Dacă există o variabilă de mediu LC_ALL cu o valoare nenulă, se utilizează valoarea lui LC_ALL.

       (2)  Dacă există o variabilă de mediu cu același nume ca una dintre categoriile de mai  sus  și  nu  este
            nulă, valoarea acesteia este utilizată pentru categoria respectivă.

       (3)  Dacă există o variabilă de mediu LANG cu o valoare nenulă, se utilizează valoarea lui LANG.

       Valorile  privind  formatarea  numerică  locală (conform configurației regionale) sunt disponibile într-o
       struct lconv returnată de funcția localeconv(3), care are următoarea declarație:

           struct lconv {

               /* Informații numerice (ne monetare) */

               char *decimal_point;     /* Caracterul zecimal */
               char *thousands_sep;     /* Separator pentru grupuri de cifre
                                           la stânga caracterului zecimal */
               char *grouping;     /* Fiecare element este numărul de cifre
                                      dintr-un grup; elementele cu indici mai mari
                                      sunt mai la stânga. CHAR_MAX înseamnă că nu
                                      se face nicio grupare suplimentară. Un element
                                      cu valoarea 0 înseamnă că elementul anterior
                                      este utilizat pentru toate grupurile din stânga. */

               /* Câmpurile rămase sunt pentru informații monetare. */

               char *int_curr_symbol;   /* Primele trei caractere sunt un simbol
                                           valutar din ISO 4217. Al patrulea
                                           caracter este separatorul. Al cincilea
                                           caracter este „\0”. */
               char *currency_symbol;   /* Simbolul monedei locale */
               char *mon_decimal_point; /* Caracterul zecimal */
               char *mon_thousands_sep; /* Precum thousands_sep de mai sus */
               char *mon_grouping;      /* Precum grouping de mai sus */
               char *positive_sign;     /* Semnul pentru valorile pozitive */
               char *negative_sign;     /* Semnul pentru valorile negative */
               char  int_frac_digits;   /* Cifre fracționare internaționale */
               char  frac_digits;       /* Cifre fracționare locale */
               char  p_cs_precedes;     /* 1 dacă simbolul monedei precede o
                                           valoare pozitivă, 0 dacă urmează */
               char  p_sep_by_space;    /* 1 dacă un spațiu separă simbolul
                                           monedei de o valoare pozitivă */
               char  n_cs_precedes;     /* 1 dacă simbolul monedei precede o
                                           valoare negativă, 0 dacă urmează */
               char  n_sep_by_space;    /* 1 dacă un spațiu separă simbolul
                                           monedei de o valoare negativă */
               /* Poziții cu semn pozitiv și negativ:
                  0 Parantezele înconjoară cantitatea și simbolul monedei.
                  1 Semnul precede cantitatea și simbolul monedei.
                  2 Semnul urmează cantității și simbolului monedei.
                  3 Semnul precede imediat simbolul monedei (currency_symbol).
                  4 Semnul urmează imediat simbolului monedei. */
               char  p_sign_posn;
               char  n_sign_posn;
           };

   Extensii POSIX.1-2008 la API-ul cobfigurației regionale „locale”
       POSIX.1-2008 a standardizat o serie de extensii ale API-ului configurației  regionale  pentru  parametrii
       acesteia,  bazate  pe  implementări  care  au apărut pentru prima dată în glibc 2.3. Aceste extensii sunt
       concepute pentru a rezolva problema faptului că API-urile  configurației  regionale  tradiționale  nu  se
       combină  bine  cu  aplicațiile  multi-fir  și  cu  aplicațiile  care  trebuie să se descurce cu mai mulți
       parametrii regionali.

       Extensiile iau forma unor noi funcții pentru crearea și manipularea  obiectelor  de  parametri  regionali
       (newlocale(3),  freelocale(3),  duplocale(3)  și  uselocale(3))  și  diverse funcții noi de bibliotecă cu
       sufixul „_l” (de ex, toupper_l(3)) care extind API-urile tradiționale dependente de parametrii  regionali
       (de  exemplu,  toupper(3)) pentru a permite specificarea unui obiect de parametru regional care ar trebui
       aplicat la executarea funcției.

MEDIU

       Următoarea variabilă de mediu este utilizată de newlocale(3) și setlocale(3) și  afectează  astfel  toate
       programele neprivilegiate ce se conformă configurațiilor regionale:

       LOCPATH
              O listă de nume de rute, separate prin două puncte (':'), care ar trebui să fie utilizate pentru a
              găsi date referitoare la parametri regionali. Dacă această variabilă este definită, sunt utilizate
              numai  fișierele  individuale  de date referitoare la parametri regionali compilate din LOCPATH și
              ruta de date a parametrilor regionali implicită a sistemului; orice  alte  arhive  referitoare  la
              parametri regionali disponibile nu sunt utilizate (consultați localedef(1)). Fișierele individuale
              de  date  locale  compilate  sunt  căutate  în subdirectoare care depind de configurația regională
              utilizată în prezent. De exemplu, atunci când en_GB.UTF-8 este utilizată pentru o categorie,  sunt
              căutate  următoarele  subdirectoare,  în această ordine: en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8,
              en.utf8 și en.

FIȘIERE

       /usr/lib/locale/locale-archive
              Locația implicită obișnuită a arhivei locale.

       /usr/lib/locale
              Ruta  implicită  obișnuită  pentru  fișierele  de  configurații  regionale  „locale”   individuale
              compilate.

STANDARDE

       POSIX.1-2001.

CONSULTAȚI ȘI

       iconv(1),   locale(1),   localedef(1),  catopen(3),  gettext(3),  iconv(3),  localeconv(3),  mbstowcs(3),
       newlocale(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3),
       strxfrm(3), uselocale(3), wcstombs(3), locale(5), charsets(7), unicode(7), utf-8(7)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                        locale(7)