setlocale

(PHP 4, PHP 5, PHP 7, PHP 8)

setlocaleImposta i parametri di localizzazione

Descrizione

setlocale(int $category, string $locale, string $... = ?): string
setlocale(int $category, array $locale): string

Imposta i parametri di localizzazione.

Elenco dei parametri

category

Il parametro category è una costante (o stringa) che indica la categoria di parametri coinvolta nelle impostazioni locali:

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).

Valori restituiti

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.

Log delle modifiche

Versione Descrizione
7.0.0 Il supporto per il parametro category passato come una stringa è stato rimosso. Solo le costanti LC_* possono essere usate in questa versione.
5.3.0 Questa funzione emette un avviso E_DEPRECATED se una stringa è passata al parametro category invece che una delle costanti LC_*.

Esempi

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 */
$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 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo
"Preferred locale for german on this system is '$loc_de'";
?>

Note

Avviso

L'informazione sulla localizzazione è mantenuta per processo, non per thread. Se si sta eseguendo PHP su un server API multithread come IIS, HHVM 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().

Suggerimento

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 nella » documentazione delle stringhe della lingua e le stringhe paesi/regioni supportate nella » documentazione delle stringhe paesi/regioni.