Provided by: manpages-it_4.26.0-1_all 

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 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.
Linux man-pages 6.9.1 15 giugno 2024 locale(7)