Provided by: manpages-it_4.15.0-9_all bug

NOME

       locale - Descrizione del supporto multi-lingue

SINTASSI

       #include <locale.h>

DESCRIZIONE

       Una  localizzazione è un insieme di regole linguistiche e culturali che coprono campi come
       la lingua dei messaggi, diversi insiemi di caratteri, convenzioni lessicografiche, ecc. Un
       programma  deve  poter  determinare la sua localizzazione e agire di conseguenza per poter
       essere adattato a culture diverse.

       L'header <locale.h> dichiara i tipi di dati, funzioni e macro utili a questo scopo.

       Le funzioni che vengono dichiarate  sono  setlocale(3)  per  impostare  la  localizzazione
       attuale e localeconv(3) per ottenere informazioni sulla formattazione dei numeri.

       Le  differenti categorie di informazioni sulla localizzazione di cui un programma potrebbe
       aver bisogno vengono dichiarate come macro. Usandole come primo  argomento  alla  funzione
       setlocale(3) è possibile impostare queste variabili alla localizzazione desiderata:

       LC_ADDRESS (estensione GNU, a partire da glibc 2.2)
              Cambia  le  impostazioni  che definiscono i formati usati per specificare luoghi ed
              elementi  di  tipo  geografico  (p.es.  indirizzi  postali).  Le  applicazioni  che
              necessitano  di  questo  tipo  di  informazioni  possono  usare  nl_langinfo(3) per
              richiamare elementi non standard, come _NL_ADDRESS_COUNTRY_NAME  (nome  del  paese,
              nella  lingua  della  localizzazione)  e  _NL_ADDRESS_LANG_NAME (nome della lingua,
              nella lingua della localizzazione, che restituisce stringhe  come  "Deutschland"  e
              "Deutsch"  (per  le  localizzazioni  della lingua tedesca). (Altri nomi di elementi
              sono elencati in <langinfo.h>.)

       LC_COLLATE
              Questa categoria controlla le regole di collazione usate  per  l'ordinamento  e  le
              espressioni  regolari,  comprese  le  classi  di  equivalenza  dei  caratteri e gli
              elementi di collazione multicarattere. Questa categoria di localizzazione  modifica
              il   comportamento   delle  funzioni  strcoll(3)  e  strxfrm(3),  che  servono  per
              confrontare stringhe  nell'alfabeto  locale.  Ad  esempio,  la  «ß»  tedesca  viene
              ordinata come «ss».

       LC_CTYPE
              Questa  categoria determina l'interpretazione delle sequenze di byte come caratteri
              (p.es. caratteri singoli o multibyte),  le  classificazioni  dei  caratteri  (p.es.
              lettera  o cifra), e il comportamento delle classi di caratteri. Sui sistemi basati
              su glibc, questa categoria  determina  anche  le  regole  di  traslitterazione  dei
              caratteri  per  iconv(1)  e  iconv(3). Modifica il comportamento delle funzioni che
              maneggiano e classificano caratteri, come isupper(3) e toupper(3),  e  le  funzioni
              per caratteri multibyte come mblen(3) o wctomb(3).

       LC_IDENTIFICATION (estensione GNU, a partire da glibc 2.2)
              Cambia  le impostazioni inerenti ai metadati per la localizzazione. Le applicazioni
              che necessitano di questa informazione possono usare nl_langinfo(3) per  richiamare
              elementi non standard, come _NL_IDENTIFICATION_TITLE (titolo di questo documento di
              localizzazione) e _NL_IDENTIFICATION_TERRITORY (territorio geografico al  quale  si
              applica  il  documento),  che  potrebbe  restituire  "English locale for the USA" e
              "USA". (Altri nomi di elementi sono elencati in <langinfo.h>.)

       LC_MONETARY
              Questa categoria determina la formattazione usata per i  valori  numerici  di  tipo
              monetario.  Cambia l'informazione restituita da localeconv(3), che descrive il modo
              in cui i numeri vengono normalmente stampati,  compresi  dettagli  come  l'uso  del
              punto  o  della  virgola  decimale.  Questa informazione è usata internamente dalla
              funzione strfmon(3).

       LC_MESSAGES
              Questa categoria influisce sulla lingua nella quale i messaggi vengono  mostrati  e
              la  forma  delle  risposte  positive  o  negative. La libreria C di GNU contiene le
              funzioni gettext(3), ngettext(3), e rpmatch(3) per facilitare l'impiego  di  queste
              informazioni.  La  famiglia  di  funzioni  GNU  gettext rispetta anche la variabile
              d'ambiente LANGUAGE (che contiene un elenco di localizzazioni, separate da virgole)
              se  la  categoria  è  stata  impostata ad una localizzazione valida diversa da "C".
              Questa categoria influisce anche sul comportamento di catopen(3).

       LC_MEASUREMENT (estensione GNU, a partire da glibc 2.2)
              Cambia le impostazioni relative al sistema di misura  nella  localizzazione  (cioè,
              metrico  o  sistema  consuetudinario  statunitense).  Le applicazioni possono usare
              nl_langinfo(3) per richiamare l'elemento non  standard  _NL_MEASUREMENT_MEASUREMENT
              che  restituisce  un  puntatore  a  un  carattere  che ha il valore 1 (metrico) o 2
              (sistema consuetudinario statunitense).

       LC_NAME (estensione GNU, a partire da glibc 2.2)
              Cambia le impostazioni che definiscono i formati usati per rivolgersi alle persone.
              Le  applicazioni possono usare nl_langinfo(3) per richiamare elementi non standard,
              come  gli  elementi  _NL_NAME_NAME_MR  (titolo   generico   per   gli   uomini)   e
              _NL_NAME_NAME_MS  (titolo  generico  per le donne), che restituiscono stringhe come
              "Herr" e "Frau" (per le localizzazioni in lingua tedesca ["Signor" e "Signora"  per
              quelle in lingua italiana]). Altri nomi di elementi sono elencati in <langinfo.h>.)

       LC_NUMERIC
              Questa categoria determina le regole di formattazione usate per valori numerici non
              monetari —per esempio, il separatore delle migliaia e il carattere  di  radice  (un
              punto  nella  maggior parte dei paesi di lingua inglese, una virgola in molte altre
              regioni). Ingfluisce su funzioni come  printf(3),  scanf(3),  e  strtod(3).  Queste
              informazioni possono anche essere lette tramite la funzione localeconv(3).

       LC_PAPER (estensione GNU, a partire da glibc 2.2)
              Cambia  le  impostazioni  relative alle dimensioni dei formati standard della carta
              (p.es., US letter o A4). Le  applicazioni  che  necessitano  di  queste  dimensioni
              possono  ottenerle  usando  nl_langinfo(3) per richiamare gli elementi non standard
              _NL_PAPER_WIDTH e _NL_PAPER_HEIGHT, che restitiuscono valori interi che definiscono
              le dimensioni in millimetri.

       LC_TELEPHONE (estensione GNU, a partire da glibc 2.2)
              Cambia  le impostazioni che descrivono i formati da usare per i servizi telefonici.
              Le applicazioni che necessitano di questa informazione possono usare nl_langinfo(3)
              per  richiamare  lementi  non  standard,  come  _NL_TELEPHONE_INT_PREFIX  (prefisso
              internazionale  usato  per  chiamare  numeri   in   questa   localizzazione),   che
              restituiscono  una  stringa  come,  per  esempio,  "49"  (per la Germania ["39" per
              l'Italia]). Altri nomi di elementi sono elencati in <langinfo.h>.)

       LC_TIME
              Questa categoria controlla la formattazione usata per valori di  data  e  ora.  Per
              esempio,  in  buona  parte  d'Europa  si usano le 24 ore, a differenza delle 12 ore
              usate  negli  Stati  Uniti.  L'impostazione  di  questa  categoria  influisce   sul
              comportamento di funzioni come strftime(3) e strptime(3).

       LC_ALL Vale per tutte le macro precedenti.

       Se  il  secondo  argomento  a  setlocale(3)  è  la  stringa  vuota  ""   la localizzazione
       predefinita è determinata come segue:

       1. Se è presente una variabile d'ambiente non nulla  LC_ALL,  viene  usato  il  valore  di
          LC_ALL.

       2. Se una variabile d'ambiente con lo stesso nome di una delle categorie precedenti esiste
          ed è non nulla, il suo valore viene usato per quella categoria.

       3. Se è presente una variabile d'ambiente non nulla LANG, viene usato il valore di LANG.

       I valori che descrivono la formattazione locale dei numeri sono disponibili in una  struct
       lconv restituita dalla funzione localeconv(3), che è così dichiarata:

           struct lconv {

           /* Informazioni numeriche (non monetarie) */

              char *decimal_point;     /* Carattere radice (separatore decimale) */
              char *thousands_sep;     /* Separatore per gruppi di cifre alla sinistra
                                           del carattere radice */
              char *grouping;     /* Ciascun elemento rappresenta il numero di
                                      cifre in un gruppo; elementi con indici più alti
                                      sono a sinistra.  Un elemento con valore
                                      CHAR_MAX significa che non vengono fatti ulteriori
                                      raggruppamenti.  Un elemento con valore 0 significa
                                      che il precedente elemento è usato per
                                      all groups alla sinistra. */

               /* /
            I campi rimanenti sono per informazioni monetarie */

             char *int_curr_symbol;   /* I primi tre caratteri sono un simbolo
                                           di valuta definito da ISO 4217.  Il quarto carattere
                                           è il separatore.  Il quinto carattere
                                           è '\0'. */
               char *currency_symbol;   /* Simbolo di valuta locale */
               char *mon_decimal_point; /* Carattere radice */
               char *mon_thousands_sep; /* Come thousands_sep sopra */
               char *mon_grouping;      /* Come grouping sopra */
               char *positive_sign;     /* Segno per valori positivi */
               char *negative_sign;     /* Segno per valori negativi */
               char  int_frac_digits;   /* Cifre frazionarie inernazionali */
               char  frac_digits;       /* Cifre frazionarie locali */
               char  p_cs_precedes;     /* 1 se il simbolo di valuta precede un
                                           valore positivo, 0 se lo segue */
               char  p_sep_by_space;    /* 1 se uno spazio separa
                                           il simbolo di valuta da un valore
                                           positivo */
               char  n_cs_precedes;     /* 1 se il simbolo di valuta precede un
                                           valore negativo, 0 se lo segue  */
               char  n_sep_by_space;    /* 1 se uno spazio separa
                                          il simbolo di valuta da un valore
                                           negativo */
               /* Posizione dei segni positivo e negativo:
                  0 Parentesi delimitano la quantità e il simbolo di valuta
                  1 Il segno precede la quantità e il simbolo di valuta.
                  2 Il segno segue la quantità e il simbolo di valuta.
                  3 Il segno è posto subito prima del simbolo di valuta.
                  4 Il segno è posto subito dopo del simbolo di valuta. */
               char  p_sign_posn;
               char  n_sign_posn;
           };

   Estensioni POSIX.1-2008 all'API della localizzazione
       POSIX.1-2008  ha  fissato  norme  relative  a  parecchie estensioni all'API, sulla base di
       implementazioni realizzate per la prima volta nella versione 2.3  della  libreria  GNU  C.
       Queste estensioni sono progettate per cercare di risolvere il problema che la tradizionale
       API di localizzazione non è adeguatamente compatibile con  applicazioni  multithread  [che
       vengono eseguite in parallelo su più di una CPU] e con applicazioni che devono gestire più
       di una localizzazione alla volta.

       Le estensioni prendono la forma di nuove funzioni  per  creare  e  manipolare  oggetti  di
       localizzazione (newlocale(3), freelocale(3), duplocale(3), e uselocale(3)) e diverse nuove
       funzioni di libreria  col  suffisso  "_l"  (p.es.,  toupper_l(3))  che  estendono  le  API
       dipendenti dalla localizzazione (p.es., toupper(3)) per consentire la specificazione di un
       oggetto di localizzazione che dovrebbe applicarsi quando si esegue la funzione.

AMBIENTE

       La seguente variabile  d'ambiente  è  usata  da  newlocale(3)  e  setlocale(3),  e  quindi
       influisce su tutti i programmi senza privilegi localizzati:

       LOCPATH
              Una  lista di nomi di percorso, separati da due punti (':'), da usare per trovare i
              dati della localizzazione.  Se questa variabile è impostata, vengono usati  solo  i
              singoli  file  compilati  dei  dati  della  localizzazione presenti in LOCPATH e il
              percorso predefinito di sistema per i dati della localizzazione;  non  viene  usato
              nessuno  degli  archivi  della  localizzazione  disponibili  (vedi localedef(1)). I
              singoli  file  compilati  dei  dati  della  localizzazione  vengono  cercati  nelle
              sottodirectory che dipendono dalla localizzazione correntemente usata. Per esempio,
              quando viene usato en_GB.UTF-8 per una categoria,  viene  fatta  la  ricerca  nelle
              seguenti sottodirectory, in quest'ordine: en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8,
              en.utf8 e en.

FILE

       /usr/lib/locale/locale-archive
              Ordinaria posizione predefinita dell'archivio della localizzazione.

       /usr/lib/locale
              Ordinario percorso predefinito per i singoli file compilati della localizzazione.

CONFORME A

       POSIX.1-2001.

VEDERE ANCHE

       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)

COLOPHON

       Questa pagina fa parte del rilascio 5.13 del progetto Linux man-pages. Una descrizione del
       progetto, le istruzioni per la segnalazione degli errori, e l'ultima  versione  di  questa
       pagina si trovano su https://www.kernel.org/doc/man-pages/.

TRADUZIONE

       La  traduzione  italiana  di  questa  pagina di manuale è stata creata da Ottavio G. Rizzo
       <rizzo@pluto.linux.it>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it>  e
       Marco Curreli <marcocurreli@tiscali.it>

       Questa  traduzione è documentazione libera; leggere la GNU General Public License Versione
       3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.
       Non ci assumiamo alcuna responsabilità.

       Per  segnalare  errori nella traduzione di questa pagina di manuale inviare un messaggio a
       ⟨pluto-ildp@lists.pluto.it⟩.