PHP setlocale(): Establecer el idioma, moneda y otros formatos en el servidor

Con la función de PHP setlocale() podemos establecer la zona locale en nuestro servidor. Dicha información puede ser el idioma, moneda, hora u otras informaciones específicas de la zona geográfica con la que trabajamos.

Sintaxis de PHP setlocale()

Veamos la sintaxis de esta función de PHP extraída de su web oficial:

setlocale(constant, location)

setlocale() solo cambia el valor de la información local en el script que se esté ejecutando, ahora explico los parámetros:

  • constant (Obligatorio): Es la información local que queremos especificar.
  • location (Obligatorio): Valor de la información local especificada, este valor también puede ser un array.

Los posibles valores de constant son los siguientes:

  • LC_ALL: Esteblece el valor local en todas las categorías posibles.
  • LC_COLLATE: Comparación de cadenas.
  • LC_CTYPE: Comparación y conversión de caracteres. Por ejemplo strtoupper().
  • LC_MESSAGES: Para los mensajes del sistema.
  • LC_MONETARY: Para formatos de moneda.
  • LC_NUMERIC: Para formatos numéricos y de moneda.
  • LC_TIME: Para formatos de fecha y hora, muy útil con date() y time().

Ejemplos de PHP setlocale() para cambiar el idioma y moneda a castellano

Vamos con los ejemplos de PHP setlocale() para ver su funcionalidad en los scripts:

//Establecer la información de hora local en castellano de España
setlocale(LC_TIME,"es_ES");
echo strftime("%A %d de %B de %Y");
   
//Establecer la información de moneda local en castellano de España
setlocale(LC_MONETARY, 'es_ES');
echo money_format("%n", "45");

//establecer toda la información en castellano
setlocale(LC_ALL,"es_ES");

Os explico el código fuente del ejemplo:

  • Establacemos la hora local en formato castellano España
  • Mostramos con la función strftime() la fecha por pantalla.
  • Establacemos la modena local usada en España, en este caso Euros.
  • Mostramos con la función money_format() el valor por pantalla.
  • Establecemos toda la información en castellano

Os dejo el siguiente post que recopila funciones para trabajar con fechas:

compartir
Publicado por
Aner Barrena