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