Provided by: manpages-it_3.73-2_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 (GNU extension, since 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. 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 (GNU extension, since 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 (GNU extension, since 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 "", allora 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 {

             /* Numeric (nonmonetary) information */

             char *decimal_point;     /* Radix character */
             char *thousands_sep;     /* Separator for digit groups to left
                                         of radix character */
             char *grouping; /* Each element is the number of digits in a
                                group; elements with higher indices are
                                further left. An element with value CHAR_MAX
                                means that no further grouping is done. An
                                element with value 0 means that the previous
                                element is used for all groups further left. */

             /* Remaining fields are for monetary information */

             char *int_curr_symbol;   /* First three chars are a currency symbol
                                         from ISO 4217. Fourth char is the
                                         separator. Fifth char is '\0'. */
             char *currency_symbol;   /* Local currency symbol */
             char *mon_decimal_point; /* Radix character */
             char *mon_thousands_sep; /* Like thousands_sep above */
             char *mon_grouping;      /* Like grouping above */
             char *positive_sign;     /* Sign for positive values */
             char *negative_sign;     /* Sign for negative values */
             char  int_frac_digits;   /* International fractional digits */
             char  frac_digits;       /* Local fractional digits */
             char  p_cs_precedes;     /* 1 if currency_symbol precedes a
                                         positive value, 0 if succeeds */
             char  p_sep_by_space;    /* 1 if a space separates currency_symbol
                                         from a positive value */
             char  n_cs_precedes;     /* 1 if currency_symbol precedes a
                                         negative value, 0 if succeeds */
             char  n_sep_by_space;    /* 1 if a space separates currency_symbol
                                         from a negative value */
             /* Positive and negative sign positions:
                0 Parentheses surround the quantity and currency_symbol.
                1 The sign string precedes the quantity and currency_symbol.
                2 The sign string succeeds the quantity and currency_symbol.
                3 The sign string immediately precedes the currency_symbol.
                4 The sign string immediately succeeds the currency_symbol. */
             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 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 di  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. I  singoli
              file  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, ed en.

CONFORME A

       POSIX.1-2001.

VEDERE ANCHE

       locale(1),  localedef(1),  catopen(3), gettext(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 3.73 del progetto Linux man-pages. Una descrizione del progetto, le
       istruzioni per la  segnalazione  degli  errori,  e  l'ultima  versione  di  questa  pagina  si  trova  su
       http://www.kernel.org/doc/man-pages/.

       La  versione  italiana  fa  parte  del  pacchetto  man-pages-it  v.  3.73, a cura di: ILDP "Italian Linux
       Documentation Project" http://www.pluto.it/ildp
       Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
       Segnalare eventuali errori di traduzione a ildp@pluto.it

Linux                                              2014-05-28                                          LOCALE(7)