(PHP 4, PHP 5)
setlocale — Imposta i parametri di localizzazione
$category
, string $locale
[, string $...
] )$category
, array $locale
)Imposta i parametri di localizzazione.
category
Il parametro category
è una costante (o stringa)
che indica la categoria di parametri coinvolta nelle impostazioni locali:
LC_ALL
la somma di tutte le seguenti categorie
LC_COLLATE
per i confronti di stringhe, vedere
strcoll()
LC_CTYPE
per la classificazione dei caratteri e le conversioni, ad
esempio strtoupper()
LC_MONETARY
per localeconv()
LC_NUMERIC
per il separatore decimale (vedere anche
localeconv())
LC_TIME
per la formattazione di data e orario con
strftime()
LC_MESSAGES
per le risposte del sistema (disponibile se PHP è stato compilato con
libintl)
locale
Se il parametro locale
è NULL
oppure una stringa vuota
"", i nomi locali saranno impostati dai valori
delle omonime variabili d'ambiente, oppure
da "LANG".
Se il parametro locale
vale "0",
le impostazioni localizzate non vengono toccate, ma vengono restituiti i valori correnti.
Se il parametro locale
è una matrice oppure è seguito da parametri
addizionali, allora si tenterà di impostare ciascun elemento, o parametro,
fino a quando non si ha successo. Questo è utile se l'impostazione locale è nota
sotto differenti nomi in sistemi differenti oppure per prevedere più casistiche
qualora alcune non fossero disponibili.
...
(parametri opzionali, di tipo string o array, che contengono parametri di localizzatione da provare in sequenza fino ad ottenere un successo.)
Nota:
In Windows, setlocale(LC_ALL, '') imposta i nomi local dalle impostazioni di sistema regionali e di lingua (accessibili attraverso il Pannello di Controllo).
La funzione restituisce le nuove impostazioni locali, oppure FALSE
se
la funzionalità di localizzazione non è implementata sul sistema, se l'impostazione
richiesta non esiste, oppure se il nome della categoria non è valida.
Un nome di categoria non valido genera anche un warning. I nomi delle categoria possono essere trovati nella » RFC 1766 e » ISO 639. Differenti sistemi hanno differenti schemi di denominazione delle impostazioni locali.
Nota:
Il valore restituito da setlocale() dipende dal sistema su cui gira il PHP. La funzione restituisce fedelmente quello che la funzione di sistema restituisce.
Versione | Descrizione |
---|---|
5.3.0 |
Questa funzione emette un avviso E_DEPRECATED se una stringa è passata
al parametro category invece che una delle costanti
LC_*.
|
4.3.0> | È possibile passare molteplici impostazioni. |
4.2.0 |
Il passaggio di category come stringa è deprecato;
piuttosto utilizzare le precedenti costanti. Passare quelle costanti come stringa
(all'interno di apici) darà come risultato un warning.
|
Example #1 Esempi di uso di setlocale()
<?php
/* Impostazioni locali in tedesco */
setlocale(LC_ALL, 'nl_NL');
/* Visualizza: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* tenta i differenti nomi possibili per le impostazioni tedesche, dal PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";
?>
Example #2 Esempio di uso di setlocale() perWindows
<?php
/* Impostazioni locali in tedesco */
setlocale(LC_ALL, 'nld_nld');
/* Visualizza: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* tenta i differenti nomi possibili per le impostazioni tedesche, dal PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Preferred locale for german on this system is '$loc_de'";
?>
L'informazione sulla localizzazione è mantenuta per processo, non per thread. Se si sta eseguendo PHP su un server API multithread come IIS o Apache su Windows, possono manifestarsi dei cambiamenti delle impostazioni di localizzazione mentre uno script è in esecuzione, anche se lo script non chiama setLocale(). Questo accade a causa di altri script eseguiti contemporaneamente in differenti thread dello stesso processo, che cambiano le impostazioni utilizzando setLocale().
Gli utenti di Windows potranno trovare informazioni utili per il parametro
locale
sul sito
MSDN di Microsoft. Le stringhe di linguaggio supportate possono essere trovate
in » http://msdn.microsoft.com/en-us/library/39cwe7zf%28v=vs.90%29.aspx e le stringhe
identificanti i paesi/regioni alla pagina »
http://msdn.microsoft.com/en-us/library/cdax410z%28v=vs.90%29.aspx.