Funciones de strings
PHP Manual

setlocale

(PHP 4, PHP 5)

setlocaleEstablecer la información de la configuración regional

Descripción

string setlocale ( int $category , string $locale [, string $... ] )
string setlocale ( int $category , array $locale )

Establece la información de la configuración regional.

Parámetros

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

Valores devueltos

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.

Historial de cambios

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.

Ejemplos

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(00012221978));

/* 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(00012221978));

/* 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'";
?>

Notas

Advertencia

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

Sugerencia

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.


Funciones de strings
PHP Manual