Para pasarlos al español se podría utilizar una función como la siguiente:
<?php
function traducir($fecha) {
if (strpos($fecha,"Monday")!==false) {
$fecha=preg_replace("/Monday/","Lunes",$fecha);
}
if (strpos($fecha,"Tuesday")!==false) {
$fecha=preg_replace("/Tuesday/","Martes",$fecha);
}
if (strpos($fecha,"Wednesday")!==false) {
$fecha=preg_replace("/Wednesday/","Miércoles",$fecha);
}
if (strpos($fecha,"Thursday")!==false) {
$fecha=preg_replace("/Thursday/","Jueves",$fecha);
}
if (strpos($fecha,"Friday")!==false) {
$fecha=preg_replace("/Friday/","Viernes",$fecha);
}
if (strpos($fecha,"Saturday")!==false) {
$fecha=preg_replace("/Saturday/","Sábado",$fecha);
}
if (strpos($fecha,"Sunday")!==false) {
$fecha=preg_replace("/Sunday/","Domingo",$fecha);
}
if (strpos($fecha,"January")!==false) {
$fecha=preg_replace("/January/","enero",$fecha);
}
if (strpos($fecha,"February")!==false) {
$fecha=preg_replace("/February/","febrero",$fecha);
}
if (strpos($fecha,"March")!==false) {
$fecha=preg_replace("/March/","marzo",$fecha);
}
if (strpos($fecha,"April")!==false) {
$fecha=preg_replace("/April/","abril",$fecha);
}
if (strpos($fecha,"May")!==false) {
$fecha=preg_replace("/May/","mayo",$fecha);
}
if (strpos($fecha,"June")!==false) {
$fecha=preg_replace("/June/","junio",$fecha);
}
if (strpos($fecha,"July")!==false) {
$fecha=preg_replace("/July/","julio",$fecha);
}
if (strpos($fecha,"August")!==false) {
$fecha=preg_replace("/August/","agosto",$fecha);
}
if (strpos($fecha,"September")!==false) {
$fecha=preg_replace("/September/","setiembre",$fecha);
}
if (strpos($fecha,"October")!==false) {
$fecha=preg_replace("/October/","octubre",$fecha);
}
if (strpos($fecha,"November")!==false) {
$fecha=preg_replace("/November/","noviembre",$fecha);
}
if (strpos($fecha,"December")!==false) {
$fecha=preg_replace("/December/","diciembre",$fecha);
}
return $fecha;
}
?>
Como se ve, el script precedente, declara una función de nombre
traducir, a la que hay que pasarle un parámetro $fecha. Luego, busca con strpos, si en el contenido de $fecha está, por ejemplo, la palabra "Friday". En caso que la función no devuelva false, quiere decir que Friday sí está dentro de $fecha. Entonces, sustituye Friday por viernes con la función preg_replace. Y repite el mismo procedimiento con los nombres de los siete días de la semana y de los doce meses del año.Para poder usar esta función se podría declararla dentro del mismo script de la entrada anterior o, mejor aún, declararlo en un script aparte y luego incluirlo. Para ello se debe guardar el script recién creado con un nombre, por ejemplo,
funciones.php, y luego incluirlo en el script como se ve a continuación:
<?php
include("funciones.php");
$ayer=mktime(0,0,0,date("m"),date("d")-1,date("Y"));
$manana=mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "<div style='text-align:center;'>";
echo "<h3>Hoy es ".traducir(date('l d \d\e F \d\e Y'))."</h3>";
echo "Ayer fue ".traducir(date('l d \d\e F \d\e Y',$ayer))."<br>";
echo "Mañana será ".traducir(date('l d \d\e F \d\e Y',$manana))."</div>";
?>
Las diferencias con respecto al script de la entrada anterior son:
- la inclusión (con la función include) del script
funciones.phpen la línea 2, - el llamado, o invocación, a la función
traducir(declarada en el scriptfunciones.php) en las líneas 6, 7 y 8.
Al ejecutar este script el 13 de enero de 2012, da el siguiente resultado:

No hay comentarios:
Publicar un comentario
Gracias por el comentario.
Luego de ser sometido a moderación y si amerita, será publicado.