(PHP 4, PHP 5)
setlocale — Establecer la información de la configuración regional
$category
, string $locale
[, string $...
] )$category
, array $locale
)Establece la información de la configuración regional.
category
category
es una constante con nombre que especifica la
categoría de las funciones afectadas por la configuración regional:
LC_ALL
para todos los siguientes
LC_COLLATE
para la comparación de strings, ver
strcoll()
LC_CTYPE
para la clasificación y conversión de caracteres, por
ejemplo strtoupper()
LC_MONETARY
para localeconv()
LC_NUMERIC
para el separador decimal (ver también
localeconv())
LC_TIME
para el formato de fecha y hora con
strftime()
LC_MESSAGES
para las respuestas del sistema (disponible si PHP fue compilado con
libintl)
locale
Si locale
es NULL
o el string vacío
"", los nombres de configuración regional se establecerán a partir de los
valores de las variables de entorno con los mismos nombres que las categorías
anteriores o desde "LANG".
Si locale
es "0",
la configuración regional no se ve afectada, sólo la configuración actual se devuelve.
Si locale
es un array o es seguido por parámetros
adicionales, entonces cada elemento del array o parámetro se intenta establecer como
nueva configuración regional hasta que sea exitosa. Esto es útil si una configuración regional es conocida
con diferentes nombres en diferentes sistemas o para proporcionar una recuperación
para una configuración regional posiblemente no disponible.
...
(String opcional o array de parámetros para probarlas como configuración regional hasta el éxito.)
Nota:
En Windows, setlocale(LC_ALL, '') establece los nombres de la configuración regional desde lo fijado en las opciones regionales o de idioma (accesibles por medio del Panel de Control).
Devuelve la nueva configuración regional actual o FALSE
si la funcionalidad de configuración regional no
está implementada en la plataforma, la configuración regional especificada no existe o
el nombre de la categoría no es válido.
Un nombre de categoría no válido también produce un mensaje de advertencia. Nombres de categorías o de configuraciones regionales se pueden encontrar en » RFC 1766 y » ISO 639. Diferentes sistemas tienen diferentes nomenclaturas para las configuraciones regionales.
Nota:
El valor de retorno de setlocale() depende del sistema en que PHP se está ejecutando. Se devuelve exactamente lo que la función setlocale del sistema devuelve.
Versión | Descripción |
---|---|
5.3.0 |
Está función ahora lanza un aviso E_DEPRECATED si un string es pasado
al parámetro category en lugar de una de las
constantes LC_*.
|
4.3.0 | Pasar múltiples configuraciones regionales se hizo posible. |
4.2.0 |
Pasar el category como un string ahora es obsoleto,
en su lugar, utilizar las constantes anteriores. Pasarlas como un string (dentro de
comillas) resultará en un mensaje de advertencia.
|
Ejemplo #1 Ejemplos de setlocale()
<?php
/* Establecer configuración regional al holandés */
setlocale(LC_ALL, 'nl_NL');
/* Produce: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* probar diferentes nombres posibles de configuración regional para el alemán a partir de 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'";
?>
Ejemplo #2 Ejemplos para Windows de setlocale()
<?php
/* Establecer configuración regional al 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 regional para el alemán a partir de 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'";
?>
La información de configuración regional se mantiene por proceso, no por hilo. Si se está corriendo PHP en un servidor de la API multihilo como IIS o Apache sobre Windows, se pueden experimentar cambios repentinos en la configuración regional mientras que un script se está ejecutando, aunque el propio script nunca llame a setlocale(). Esto ocurre debido a que otros scripts ejecutándose en diferentes hilos de un mismo proceso, al mismo tiempo, cambian la configuración regional de todo el proceso con setlocale().
Los usuarios de Windows encontrarán información útil sobre
strings de locale
en el sitio web
MSDN de Microsoft. Los strings de los idiomas soportados se pueden encontrar
en la
» documentoación de strings de idiomas
y los strings de paises/regiones en la
» documentación de strings de países/regiones.