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:
1 |
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:
1 2 3 4 5 6 7 8 9 10 |
//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: