setlocale

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

setlocaleModifica la información de configuración local

Descripción

setlocale(int $category, string $locales, string ...$rest): string|false

Firma alternativa (no soportada con argumentos nombrados):

setlocale(int $category, array $locale_array): string|false

Establece la información de configuración local.

Advertencia

La información local se mantiene por proceso, no por hilo. Si se ejecuta PHP en un servidor multihilo, se podrían obtener cambios repentinos de las configuraciones locales mientras un script se ejecuta, incluso si este nunca llama a la función setlocale(). Esto ocurre debido a otros scripts que se ejecutan en hilos diferentes del mismo proceso. Estos scripts cambian las configuraciones locales en todo el proceso utilizando la función setlocale(). En Windows, la información local se mantiene por hilo a partir de PHP 7.0.5.

Parámetros

category

category es una constante (o una cadena) que especifica la categoría de funciones afectadas por la configuración local:

locales

Si locales es la cadena vacía (""), los nombres de locales se tomarán del entorno, a partir de las variables con el mismo nombre que las categorías anteriores, o desde "LANG".

Si locales es "0", la configuración local no se modificará, y se devolverá la configuración actual.

Si locales va seguido por parámetros adicionales, entonces cada parámetro intenta establecerse como nueva configuración local hasta que uno tenga éxito. Esto es útil si la configuración local es conocida bajo diferentes nombres en sistemas diferentes o para prever otro valor en caso de no disponibilidad de la configuración local elegida.

rest

Parámetros opcionales de cadena para probar como parámetro de configuración local hasta lograr éxito.

locale_array

Cada elemento del array se intenta establecer como la nueva configuración local hasta lograr éxito. Esto es útil si una configuración local es conocida bajo diferentes nombres en sistemas diferentes o para proporcionar una solución alternativa para una configuración local potencialmente no disponible.

Nota:

En Windows, setlocale(LC_ALL, '') establece los nombres de la configuración local desde la configuración de idioma/región del sistema operativo (accesible desde el Panel de Control).

Valores devueltos

Devuelve la nueva configuración local, o false si la configuración local no está implementada en la plataforma, si la variable de configuración local no existe, o si la categoría especificada no es válida.

Un nombre de categoría no válido generará un mensaje de alerta. La lista de nombres de configuraciones locales/categorías puede encontrarse consultando la » RFC 1766 así como la » ISO 639. Las diferentes plataformas poseen diferentes convenciones de nomenclatura.

Nota:

El valor devuelto por setlocale() depende del sistema en el que PHP está instalado. setlocale() devuelve exactamente lo que la función del sistema setlocale devuelve.

Ejemplos

Ejemplo #1 Ejemplo con setlocale()

<?php
/* Configura el script en holandés */
setlocale(LC_ALL, 'nl_NL');

/* Muestra: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* Prueba diferentes valores posibles para el alemán */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo
"El identificador del alemán en este sistema es '$loc_de'";
?>

Ejemplo #2 Ejemplo con setlocale() en Windows

<?php
/* Configura el script en holandés */
setlocale(LC_ALL, 'nld_nld');

/* Muestra: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* Prueba diferentes valores posibles para el alemán */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo
"El identificador del alemán en este sistema es '$loc_de'";
?>

Notas

Sugerencia

Los usuarios de Windows encontrarán información útil sobre el parámetro locales en el sitio web MSDN de Microsoft. Las configuraciones locales soportadas pueden encontrarse » en la página de la documentación de las cadenas de idioma y las cadenas de país/región » en la página de la documentación de las cadenas de país/región.