(PHP 4, PHP 5, PHP 7, PHP 8)
setlocale — Modifica la información de configuración local
Firma alternativa (no soportada con argumentos nombrados):
Establece la información de configuración local.
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.
category
category
es una constante (o una cadena)
que especifica la categoría de funciones afectadas por la configuración
local:
LC_ALL
para todas las constantes siguientes
LC_COLLATE
para la comparación de strings. Ver
strcoll()
LC_CTYPE
para la clasificación y conversión de caracteres.
Ver ctype_alpha()
LC_MONETARY
para localeconv()
LC_NUMERIC
para el separador decimal. Ver
localeconv()
LC_TIME
para el formato de fecha y hora con
strftime()
LC_MESSAGES
para las respuestas del sistema (disponible
si PHP ha sido compilado con libintl
)
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).
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.
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'";
?>
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.