LOCALE(P)

NOME
locale - restituisce informazioni specifiche sulla localizzazione

SINTASSI

locale [-a| -m]

locale [-ck] name...

DESCRIZIONE

L'utilità locale scrive sullo standard output informazioni sulla localizzazione dell'ambiente attuale, o su tutte le localizzazioni pubbliche. Per gli scopi di questa sezione, una localizzazione pubblica è quella fornita dall'implementazione accessibile all'applicazione.

Se chiamato senza argomenti, locale deve riassumere l'ambiente di localizzazione attuale per ogni categoria di localizzazione, come stabilito dalle impostazioni delle variabili d'ambiente definite nel volume Base Definitions di IEEE Std 1003.1-2001, Capitolo 7, Locale.

Se chiamato con operandi deve scrivere i valori assegnati alle parole chiave nelle categorie di localizzazione, come segue:

*   Specificare il nome di una parola chiave seleziona la parola chiave indicata e la categoria che contiene quella parola chiave.

*   Specificare il nome di una categoria seleziona la categoria indicata e tutte le parole chiave di quella categoria.

OPZIONI

L'utilità locale deve essere conforme al volume Base Definitions di IEEE Std 1003.1-2001, Sezione 12.2, Utility Syntax Guidelines.

Devono essere supportate le seguenti opzioni:

-a  Scrive informazioni su tutte le localizzazioni pubbliche disponibili. Le localizzazioni pubbliche disponibili devono includere POSIX, che rappresenta la localizzazione POSIX. Il modo in cui l'implementazione decide quale altre localizzazioni sono disponibili è definito dall'implementazione stessa.

-c  Scrive i nomi delle categorie di localizzazione selezionate; vedere la sezione STDOUT. L'opzione -c aumenta la leggibilità quando viene selezionata più di una categoria (per esempio, usando più di un nome di parola chiave o tramite il nome di una categoria). Questo vale sia con che senza l'opzione -k.

-k  Scrive i nomi e i valori delle parole chiave selezionate. L'implementazione potrebbe omettere i valori per alcune parole chiave; vedere la sezione OPERANDI.

-m  Scrive i nomi delle mappe dei caratteri disponibili; vedere il volume Base Definitions di IEEE Std 1003.1-2001, Sezione 6.1, Portable Character Set.

OPERANDI

Devono essere supportati i seguenti operandi:

name
    Il nome di una categoria di localizzazione come definito nel volume Base Definitions di IEEE Std 1003.1-2001, Capitolo 7, Locale, il nome di una parola chiave all'interno di una categoria di localizzazione, o il nome riservato charmap. La categoria o parola chiave indicata deve essere selezionata per l'output. Se un singolo name rappresenta sia il nome di una categoria di localizzazione che il nome di una parola chiave nella localizzazione attuale, i risultati saranno non specificati. A parte questo, sia i nomi di categoria che quelli di parole chiave possono essere specificati come operandi di name, in qualunque sequenza. L'implementazione precisa se i valori di una parola chiave per le categorie LC_CTYPE e LC_COLLATE saranno scritti o meno.

STDIN

Non usato.

FILE DI INPUT

Vuoto.

VARIABILI D'AMBIENTE

Le seguenti variabili d'ambiente influenzano l'esecuzione di locale:

LANG
    Fornisce un valore predefinito per le variabili di internazionalizzazione non impostate o nulle. (Vedere il volume Base Definitions di IEEE Std 1003.1-2001, Sezione 8.2, Internationalization Variables per la precedenza delle variabili di internazionalizzazione usate per determinare i valori delle categorie di localizzazione).

LC_ALL
    Se impostata a un valore di stringa non vuoto, sovrascrive i valori di tutte le altre variabili di internazionalizzazione.

LC_CTYPE
    Determina la localizzazione per l'interpretazione di sequenze di byte di dati di testo come caratteri (per esempio, caratteri single-byte o multi-byte in argomenti e file di input).

LC_MESSAGES
    Determina la localizzazione da usare per influenzare il formato e i contenuti dei messaggi diagnostici scritti sullo standard error.

NLSPATH
    Determina la posizione dei cataloghi di messaggi per l'elaborazione di LC_MESSAGES .

L'applicazione deve accertarsi che le variabili d'ambiente LANG , LC_* , e NLSPATH indichino l'ambiente di localizzazione attuale su cui scrivere; devono essere usati se non è specificata l'opzione -a.

EVENTI ASINCRONI

Default.

STDOUT

Se locale viene chiamato senza opzioni od operandi, i nomi ed i valori delle variabili d'ambiente LANG e LC_* descritte in questo volume di IEEE Std 1003.1-2001 devono essere scritti sullo standard output, una variabile per riga, con LANG per prima, e ogni riga deve usare il formato seguente. Solo quelle variabili impostate nell'ambiente e non annullate da LC_ALL devono essere scritte usando questo formato:

    "%s=%s\n", <variable_name>, <value>

I nomi di quelle variabili LC_* associate alle categorie di localizzazione definite in questo volume di IEEE Std 1003.1-2001, che non siano state impostate nell'ambiente o annullate da LC_ALL, devono essere scritte nel formato seguente:

    "%s=\"%s\"\n", <variable_name>, <implied value>

Il <implied value> deve essere il nome della localizzazione selezionata per quella categoria dall'implementazione, in base ai valori di LANG e LC_ALL , come descritto nel volume Base Definitions di IEEE Std 1003.1-2001, Capitolo 8, Environment Variables.

I <value> e <implied value> mostrati devono essere correttamente quotati per un possibile rientro successivo nella shell. Il <value> non deve essere quotato usando le virgolette (questo perché l'utente possa distinguerlo da <implied value>, che richiede sempre le virgolette).

La variabile LC_ALL deve essere scritta per ultima, usando il primo dei formati mostrati sopra. Se non è impostata deve essere scritta così:

    "LC_ALL=\n"

Se sono specificati alcuni argomenti:

1.  Se è specificata l'opzione -a devono essere scritti i nomi di tutte le localizzazione pubbliche, ognuna nel formato seguente:

    "%s\n", <locale name>

2.  Se è specificata l'opzione -c devono essere scritti i nomi di tutte le categorie selezionate, ognuna nel formato seguente:

    "%s\n", <category name>

Se sono state selezionate anche parole chiave (vedere le voci successive) l'output dei nomi delle categorie deve precedere quello delle parole chiave per quella categoria.

Se non è specificata l'opzione -c non devono essere scritti i nomi delle categorie; devono essere scritte solo le parole chiave, come selezionate dall'operando <name>.

3.  Se è specificata l'opzione -k devono essere scritti i nomi e i valori delle parole chiave selezionate. Se un valore non è numerico, deve essere scritto nel formato seguente:

    "%s=\"%s\"\n", <keyword name>, <keyword value>

Se la parola chiave è charmap, deve essere scritto (se c'è) il nome della mappa caratteri specificata tramite l'opzione localedef -f quando è stata creata la localizzazione, con la parola charmap come <keyword name>.

Se un valore è numerico deve essere scritto usando uno dei seguenti formati:

    "%s=%d\n", <keyword name>, <keyword value>

    "%s=%c%o\n", <keyword name>, <escape character>, <keyword value>

    "%s=%cx%x\n", <keyword name>, <escape character>, <keyword value>

dove l' <escape character> è quello identificato dalla parola chiave escape_char nella localizzazione attuale; vedere il volume Base Definitions di IEEE Std 1003.1-2001, Sezione 7.3,Locale Definition.

I valori di parole chiave composte (voci di un elenco) devono essere separate nell'output dal punto e virgola. Il punto e virgola, le virgolette, la backslash e ogni altro carattere di controllo, se inclusi nei valori delle parole chiave, devono essere preceduti (escaped) dal carattere di escape.

4.  Se non è specificata l'opzione -k, devono essere scritti i valori delle parole chiave selezionate, ognuno nel seguente formato:

    "%s\n", <keyword value>

Se la parola chiave è charmap, deve essere scritto (se c'è) il nome della mappa caratteri specificata tramite l'opzione localedef -f quando è stata creata la localizzazione.

5.  Se è specificata l'opzione -m deve essere scritto un'elenco di tutte le mappe caratteri disponibili, ognuno nel formato:

    "%s\n", <charmap>

dove <charmap> deve essere in un formato adatto per essere usato come opzione-argomento per l'opzione localedef -f.

STDERR

Lo standard error si usa solo per messaggi diagnostici.

FILE DI OUTPUT

Vuoto.

DESCRIZIONE ESTESA

Vuoto.

STATO DI USCITA

In uscita devono essere restituiti i seguenti valori:

0   Tutte le informazioni richieste sono state trovate e scritte sull'output con successo.

>0  Si è verificato un errore.

CONSEGUENZE DEGLI ERRORI

Default.

Le seguenti sezioni sono informative.

USO DELL'APPLICAZIONE

Se la variabile d'ambiente LANG non è impostata, o è impostata ad un valore vuoto, o se una delle variabili d'ambiente LC_* è impostata ad un valore non riconoscibile, la localizzazione attuale presunta (se c'è) è definita dall'implementazione, come descritto dal volume Base Definitions di IEEE Std 1003.1-2001, Capitolo 8, Environment Variables.

Le implementazioni non devono ricopiare i valori attuali per le parole chiave delle categorie LC_CTYPE e LC_COLLATE; comunque, devono ricopiare le categorie (permettendo ad un'applicazione di accertare, per esempio, quali classi di caratteri sono disponibili).

ESEMPI

Negli esempi seguenti si assume che le variabili d'ambiente della localizzazione siano impostate come segue:

    LANG=locale_x
    LC_COLLATE=locale_y

Il comando locale avrà come risultato l'output seguente:

    LANG=locale_x
    LC_CTYPE="locale_x"
    LC_COLLATE=locale_y
    LC_TIME="locale_x"
    LC_NUMERIC="locale_x"
    LC_MONETARY="locale_x"
    LC_MESSAGES="locale_x"
    LC_ALL=

Questo volume di IEEE Std 1003.1-2001 non specifica l'ordine di presentazione delle categorie.

Il comando:

    LC_ALL=POSIX locale -ck decimal_point

produrrà:

    LC_NUMERIC
    decimal_point="."

Il comando seguente mostra un'applicazione di locale che accerta se una risposta fornita da un utente è affermativa:

    if printf "%s\n" "$response" | grep -Eq "$(locale yesexpr)"
    then
        l'elaborazione della risposta positiva va qui
    else
        l'elaborazione della risposta negativa va qui
    fi

LOGICA

L'output delle categorie LC_CTYPE e LC_COLLATE viene definito dall'implementazione perché c'è un discutibile pregio nel permettere ad uno script di shell di ricevere un intero array di caratteri. E' anche difficile restituire una raccolta di descrizioni logica, senza restituire un sorgente di localedef completo.

L'opzione -m è stata inclusa per permettere alle applicazioni di fare una ricerca sull'esistenza di mappe di caratteri. L'output è un'elenco di mappe di caratteri (fornite dall'implementazione e dall'utente, se c'è) presenti sul sistema.

L'opzione -c è stata inclusa per migliorare la leggibilità se viene selezionata più di una categoria (per esempio, usando più di un nome di parola chiave o tramite il nome di una categoria). Questo vale sia con che senza l'opzione -k.

La parola chiave charmap, che restituisce (se c'è) il nome della mappa caratteri usata quando la localizzazione attuale è stata creata, è stata inclusa per permettere alle applicazioni che ne hanno bisogno di ritrovare queste informazioni.

DIREZIONI FUTURE

Vuoto.

VEDERE ANCHE

localedef , il volume Base Definitions di IEEE Std 1003.1-2001, Sezione 7.3, Locale Definition

COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .