Provided by: manpages-it_4.23.1-1_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  dei  decimali
              (un  punto  nella  maggior  parte dei paesi di lingua inglese, una virgola in molte
              altre regioni). Influisce 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 decimale */
               char *thousands_sep;     /* Separatore delle migliaia
                                           a sinistra del carattere decimale */
               char *grouping;     /* Ogni elemento è il numero di cifre in
                                      un gruppo; elementi con indici maggiori
                                      sono più a sinistra. Un elemento valore
                                      CHAR_MAX indica che non ci sono altri
                                      gruppi. Un elemento con valore 0 indica
                                      che l'elemento precedente è usato per
                                      tutti i gruppi più a sinistra. */

               /* I restanti campi sono per le 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  glibc.
       Queste estensioni sono progettate per cercare di risolvere il problema che la tradizionale
       API di localizzazione non è adeguatamente compatibile con applicazioni multithread  e  con
       applicazioni che devono gestire più di una localizzazione.

       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)

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>,
       Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       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⟩.