Cadenas
PHP Manual

setlocale

(PHP 4, PHP 5)

setlocale — Fija la información de localización (L10n)

Descripción

string setlocale ( int $categoria , string $localizacion [, string $... ] )
string setlocale ( int $categoria , array $localizacion )

categoria es una cadena que especifica la categoría de las funciones afectadas por el ajuste de localización:

Note: Desde la versión de PHP 4.2.0, está obsoleto la opción de indicar el parámetro categoria como una cadena, por lo que deben emplearse las constantes mostradas anteriormente. Si se pasa como una cadena (con comillas), se mostrará un mensaje de aviso.

Si localizacion es NULL o una cadena vacía "", los nombres localizados se fijarán a partir de las variables de entorno con los mismos nombres de las categorías anteriores, o desde "LANG".

Si la localizacion es "0" (cero) o no se modifica la configuración de localización, sólo se devuelve la configuración actual.

Si localizacion es un array o va seguido de más parámetros, entonces cada elemento del array o cada parámetro se intenta establecer como nueva configuración de localización hasta que la función tenga éxito. Este modo de funcionamiento es útil cuando una configuración de localización se conoce con diferentes nombres en sistemas diferentes o para brindar la posibilidad de elegir una localización en caso de que falle la localización principal.

Note: La posibilidad de indicar varias configuraciones de localización está disponible desde la versión de PHP 4.3.0

La función devuelve la nueva localización establecida o FALSE si no existe la posibilidad de ajustar la localización o si la localización indicada no existe en el sistema o si el nombre de la categorí no es válido. Un nombre incorrecto de categoría tambié genera un mensaje de aviso. Los nombres de categorías y localizaciones se pueden encontrar en el » RFC 1766 y en » ISO 639. Cada sistema cuenta con su propio esquema de nombres para las localizaciones.

Note: El valor devuelto por setlocale() depende del sistema en el que se esté ejecutando PHP, ya que devuelve exactamente lo mismo que lo que devuelve la función setlocale del sistema en el que se ejecuta.

Warning

La información de localización se guarda a nivel de proceso, no de hilo de ejecución. Si se ejecuta PHP en un entorno de ejecución multi-hilo como IIS o Apache sobre Windows, puede que se produzcan cambios repentinos en los ajustes de la localización mientras se está ejecutando el script (incluso si el script no hace uso de la función setlocale()). Estos cambios se producen por el hecho de que otros scripts que se ejecutan en diferentes hilos del mismo proceso cambian la configuración de localización con la función setlocale() a nivel de proceso.

Tip

Los usuarios de entornos Windows pueden encontrar información útil sobre los valores de localizacion en el sitio web MSDN de Microsoft. Las cadenas válidas para identificar idiomas se pueden consultar en la dirección » http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp y las cadenas válidas para identificar países/regiones se pueden encontrar en » http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp. Los sistemas Windows soportan los códigos de 3 letras definidos para los países/regiones por el estándar ISO 3166-Alpha-3, que se puede consultar en » Sitio web de Unicode.

Example#1 Ejemplos de setlocale()

<?php
/* Establecer la localizacion al idioma Holandes */
setlocale(LC_ALL'nl_NL');

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

/* Intentar diferentes nombres para la localizacion al idioma aleman en la version de PHP 4.3.0 */
$localizacion_aleman setlocale(LC_ALL'de_DE@euro''de_DE''de''ge');
echo 
"El valor predeterminado del sistema para la localizacion en aleman es '$localizacion_aleman'";
?>

Example#2 Ejemplos de setlocale() en Windows

<?php
/* Establecer la localizacion al idioma Holandes */
setlocale(LC_ALL'nld_nld');

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

/* Intentar diferentes nombres para la localizacion al idioma aleman en la version de PHP 4.3.0 */
$localizacion_aleman setlocale(LC_ALL'de_DE@euro''de_DE''deu_deu');
echo 
"El valor predeterminado del sistema para la localizacion en aleman es '$localizacion_aleman'";
?>


Cadenas
PHP Manual