Provided by: manpages-it_0.3.4-5_all bug

NOME

       locale - Descrizione del supporto multi-linguistico

SINTASSI

       #include <locale.h>

DESCRIZIONE

       Una  localizzazione  (locale,  in  inglese)  è  un  insieme  di  regole
       linguistiche e culturali che coprono campi come la lingua dei messaggi,
       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 per
       questo scopo.

       Le funzioni che vengono dichiarate sono setlocale()  per  impostare  la
       localizzazione  corrente  e  localeconv() per ottenere informazioni sul
       modo di formattare i numeri.

       Le differenti categorie di informazioni  locali  di  cui  un  programma
       potrebbe  aver  bisogno  vengono  dichiarate  come macro. Usandole come
       primo argomento alla funzione setlocale()  è  possibile  impostare  una
       delle seguenti localizzazioni:

       LC_COLLATE
              viene  usato  per  modificare  il  comportamento  delle funzioni
              strcoll() e strxfrm(),  che  servono  per  confrontare  stringhe
              nell’alfabeto  locale. Ad esempio, la «ß» tedesca viene ordinata
              lessicograficamente come «ss».

       LC_CTYPE
              modifica  il  comportamento  delle  funzioni  che  maneggiano  e
              classificano   caratteri,  come  isupper()  e  toupper(),  e  le
              funzioni per caratteri a più byte come mblen() o wctomb().

       LC_MONETARY
              cambia  l’informazione  restituita  da  localeconv(),  la  quale
              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() .

       LC_MESSAGES
              cambia il linguaggio in cui i messaggi  vengono  mostrati  e  la
              forma  delle  risposte positive o negative. La libreria C di GNU
              contiene la  funzione  rpmatch()  per  facilitare  l’impiego  di
              queste informazioni.

       LC_NUMERIC
              cambia  l’informazione usata dalle famiglie di funzioni printf()
              e scanf(), quando viene loro richiesto di usare le  impostazioni
              localizzate.  Queste  informazioni  possono  anche  essere lette
              tramite la funzione localeconv().

       LC_TIME
              modifica  il  comportamento  della  funzione   strftime()   onde
              mostrare l’ora in una forma localmente accettabile; per esempio,
              in buona parte d’Europa si usano le 24 ore, a  differenza  delle
              12 ore degli USA.

       LC_ALL Vale per tutte le macro precedenti.

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

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

       2.     Se  una  variabile  ambientale  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 ambientale non nulla LANG, viene
              usato il valore di LANG.

       I valori  che  descrivono  la  formattazione  locale  dei  numeri  sono
       dispobili  in  una struct lconv restituita dalla funzione localeconv(),
       che è così dichiarata:
       struct lconv
       {
         /* Numeric (non-monetary) information.  */

         char *decimal_point;        /* Decimal point character.  */
         char *thousands_sep;        /* Thousands separator.  */
         /* Each element is the number of digits in each group;
            elements with higher indices are farther 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 farther left.  */
         char *grouping;

         /* Monetary information.  */

         /* First three chars are a currency symbol from ISO 4217.
            Fourth char is the separator.  Fifth char is ’ ’.  */
         char *int_curr_symbol;
         char *currency_symbol; /* Local currency symbol.  */
         char *mon_decimal_point;    /* Decimal point character.  */
         char *mon_thousands_sep;    /* Thousands separator.  */
         char *mon_grouping;         /* Like ‘grouping’ element (above).  */
         char *positive_sign;        /* Sign for positive values.  */
         char *negative_sign;        /* Sign for negative values.  */
         char int_frac_digits;       /* Int’l fractional digits.  */
         char frac_digits;      /* Local fractional digits.  */
         /* 1 if currency_symbol precedes a positive value, 0 if succeeds.  */
         char p_cs_precedes;
         /* 1 if a space separates currency_symbol from a positive value.  */
         char p_sep_by_space;
         /* 1 if currency_symbol precedes a negative value, 0 if succeeds.  */
         char n_cs_precedes;
         /* 1 if a space separates currency_symbol from a negative value.  */
         char n_sep_by_space;
         /* 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;
       };

CONFORME A

       POSIX.1

VEDERE ANCHE

       setlocale(3),  localeconv(3),  locale(1),   localedef(1),   rpmatch(3),
       strfmon(3), strcoll(3), strxfrm(3), strftime(3)