setlocale

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

setlocaleEstablece 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 de configuración local se mantiene por proceso, no por hilo. Si está ejecutando PHP en una API de servidor multihilo, puede experimentar cambios repentinos en la configuración local mientras se ejecuta un script, aunque el script nunca haya llamado a setlocale(). Esto ocurre debido a otros scripts que se ejecutan en diferentes hilos del mismo proceso al mismo tiempo, cambiando la configuración local del proceso usando setlocale(). En Windows, la información de configuración local se mantiene por hilo a partir de PHP 7.0.5.

Parámetros

category

category es una constante nombrada que especifica la categoría de las funciones afectadas por la configuración local:

locales

Si locales es la cadena vacía "" o es null, los nombres de configuración local se establecerán a partir de los valores de las variables de entorno con los mismos nombres que las categorías anteriores, o de "LANG".

Si locales es "0", la configuración local no se ve afectada, solo se devuelve la configuración actual.

Si locales va seguido de parámetros adicionales, entonces cada parámetro se intenta establecer como nueva configuración local hasta que tenga éxito. Esto es útil si una configuración local es conocida bajo diferentes nombres en diferentes sistemas o para proporcionar una alternativa para una configuración local posiblemente no disponible.

rest

Parámetros opcionales de string para intentar como configuraciones locales hasta que tenga éxito.

locale_array

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

Nota:

En Windows, setlocale(LC_ALL, '') establece los nombres de configuración local a partir de la configuración regional/idioma del sistema (accesible a través del Panel de Control).

Valores devueltos

Devuelve la nueva configuración local actual, o false si la funcionalidad de configuración local no está implementada en su plataforma, la configuración local especificada no existe o el nombre de la categoría no es válido.

Un nombre de categoría no válido también causa un mensaje de advertencia. Los nombres de categoría/configuración local se pueden encontrar en » RFC 1766 y » ISO 639. Diferentes sistemas tienen diferentes esquemas de nombres para configuraciones locales.

Nota:

El valor de retorno de setlocale() depende del sistema en el que se está ejecutando PHP. Devuelve exactamente lo que devuelve la función setlocale del sistema.

Ejemplos

Ejemplo #1 Ejemplos de setlocale()

<?php
/* Establecer configuración local a holandés */
setlocale(LC_ALL, 'nl_NL');

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

/* probar diferentes nombres posibles de configuración local para alemán */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo
"Configuración local preferida para alemán en este sistema es '$loc_de'";
?>

Ejemplo #2 Recuperar la configuración actual de setlocale()

<?php
/* Recuperar la configuración actual */
$current = setlocale(LC_ALL, null);

echo
"Configuración local actual '$current'";
?>

Ejemplo #3 Ejemplos de setlocale() para Windows

<?php
/* Establecer configuración local a holandés */
setlocale(LC_ALL, 'nld_nld');

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

/* probar diferentes nombres posibles de configuración local para alemán */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo
"Configuración local preferida para alemán en este sistema es '$loc_de'";
?>

Notas

Sugerencia

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