jammy (7) locale.7.gz

Provided by: manpages-it_4.13-4_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.10 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 ⟨⟩.