setlocale(3)

NUME
setlocale - definește parametrii regionali curenți

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <locale.h>

char *setlocale(int category, const char *_Nullable locale);

DESCRIERE
Funcția setlocale() este utilizată pentru a defini sau interoga parametrii regionali curenți ai programului.

Dacă locale nu este NULL, parametrii regionali curenți ai programului sunt modificați în funcție de argumente. Argumentul category determină care părți ai configurației regionale curente a programului trebuie modificate.
Categorie | Parametri modificați
LC_ALL | Toși parametrii regionali
LC_ADDRESS | Formatarea adreselor și a elementelor legate de geografie (*)
LC_COLLATE | Ordinea de sortare a șirurilor de caractere
LC_CTYPE | Clasificarea caracterelor
LC_IDENTIFICATION | Metadate care descriu parametrii regionali (locale) (*)
LC_MEASUREMENT | Parametri referitori la măsurători (sistemul metric față de sistemul american) (*)
LC_MESSAGES | Mesaje traduse în limba din regiunea curentă
LC_MONETARY | Formatarea valorilor monetare
LC_NAME | Formatarea formulelor de salut pentru persoane (*)
LC_NUMERIC | Formatarea valorilor numerice nemonetare
LC_PAPER | Parametri referitori la dimensiunea standard a hârtiei (*)
LC_TELEPHONE | Formate care trebuie utilizate cu serviciile telefonice (*)
LC_TIME | Formatarea valorilor de dată și oră

Categoriile marcate cu asterisc în tabelul de mai sus sunt extensii GNU. Pentru mai multe informații despre aceste categorii regionale, consultați locale(7).

Argumentul locale este un indicator către un șir de caractere care conține configurarea necesară pentru categorie. Un astfel de șir este fie o constantă binecunoscută, cum ar fi „C” sau „ro_RO” (vezi mai jos), fie un șir opac care a fost returnat de o altă apelare a setlocale().

Dacă locale este un șir gol, "", fiecare parte a parametrilor regionali care trebuie modificată este configurată în conformitate cu variabilele de mediu. Detaliile depind de implementare. Pentru glibc, mai întâi (indiferent de categorie), este verificată variabila de mediu LC_ALL, apoi variabila de mediu cu același nume ca și categoria (vezi tabelul de mai sus) și, în final, variabila de mediu LANG. Este utilizată prima variabilă de mediu existentă. Dacă valoarea acesteia nu este o specificație de parametri regionali validă, configurația regională rămâne neschimbată, iar setlocale() returnează NULL.

Parametrul regional "C" sau "POSIX" este un parametru regional portabil; acesta există pe toate sistemele conforme.

Un nume de parametru regional are de obicei forma limbă [_teritoriu][.codificarea][@modificator], unde limbă este un cod de limbă ISO 639, teritoriu este un cod de țară ISO 3166, iar codificarea este un set de caractere sau un identificator de codificare, cum ar fi ISO-8859-1 sau UTF-8. Pentru o listă a tuturor parametrilor regionali acceptați, încercați «locale -a» (consultați locale(1)).

Dacă locale este NULL, configurația regională curentă este doar interogată, nu modificată.

La pornirea programului principal, valoarea parametrului regional portabil "C" este selectată ca implicită. Un program poate fi făcut portabil pentru toate configurațiile regionale prin apelarea:

    setlocale(LC_ALL, "");

după inițializarea programului, și apoi:

•   utilizând valorile returnate de o apelare localeconv(3) pentru informații dependente de parametrii regionali;

•   utilizarea funcțiilor multi-octet și caractere late pentru procesarea textului dacă MB_CUR_MAX > 1;

•   utilizarea strcoll(3) și strxfrm(3) pentru compararea șirurilor de caractere; și

•   utilizarea wcscoll(3) și wcsxfrm(3) pentru a compara șiruri de caractere late.

VALOAREA RETURNATĂ
O apelare reușită a setlocale() returnează un șir opac care corespunde parametrilor regionali. Acest șir poate fi alocat în memoria statică. Șirul returnat este astfel încât o apelare ulterioară cu acel șir și categoria asociată va restabili acea parte a procesului corespondentă parametrilor regionali. Valoarea returnată este NULL dacă cererea nu poate fi onorată.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
setlocale() | Siguranța firelor | MT-Unsafe const:locale env

STANDARDE
C11, POSIX.1-2008.

  Categorii

LC_ALL
LC_COLLATE
LC_CTYPE
LC_MONETARY
LC_NUMERIC
LC_TIME
    C11, POSIX.1-2008.

LC_MESSAGES
    POSIX.1-2008.

Altele:
    GNU.

ISTORIC
POSIX.1-2001, C89.

  Categorii

LC_ALL
LC_COLLATE
LC_CTYPE
LC_MONETARY
LC_NUMERIC
LC_TIME
    C89, POSIX.1-2001.

LC_MESSAGES
    POSIX.1-2001.

Altele:
    GNU.

CONSULTAȚI ȘI
locale(1), localedef(1), isalpha(3), localeconv(3), nl_langinfo(3), rpmatch(3), strcoll(3), strftime(3), charsets(7), locale(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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.