| :: Poner manualmente fechas en Castellano |
El PhpNuke usa una función del php (setlocale) para "traducir" las fechas al idioma que queramos, la cuestión esta en que esa función depende del sistema operativo del servidor, y de sí lo tiene instalado o no. Entonces el phpnuke nos deja configurar esa variable desde las preferencias del panel de control ../admin.php?op=Configure debajo del Idioma, Formato de Tiempo Local. Así pues normalmente si usamos un servidor linux con definirlo a 'es_ES' si tiene instalado ese locale pues asunto arreglado. Ya que la función del PHP detecta la configuración elegida en la variable y la adecua así a la petición realizada.
Si es un servidor bajo Windows probaríamos con 'Esp' en vez de 'es_ES'
El problema es que algunos servidores no lo tienen instalado, entonces el apaño seria definir cada mes y da de la semana en una matriz.
Consiste en editar el archivo mainfile.php buscar y sustituir la función formatTimestamp por esta otra:
| Código: |
function formatTimestamp($time){
global $datetime, $locale;
setlocale (LC_TIME, "$locale");
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $time, $datetime);
$ano=$datetime[1]+0;
$mes=$datetime[2]+0;
$dia=$datetime[3]+0;
$hora=$datetime[4]+0;
$min=$datetime[5]+0;
$longitud=strlen($min);
if ($longitud == 1) $min="0".$min;
$segs=$datetime[6]+0;
$longitud=strlen($segs);
if ($longitud == 1) $segs="0".$segs;
$quedia= strftime ("%w", mktime($hora,$min,$segs,$mes,$dia,$ano));
switch($quedia) {
case 0:
$quedia="Domingo";
break;
case 1:
$quedia="Lunes";
break;
case 2:
$quedia="Martes";
break;
case 3:
$quedia="Miércoles";
break;
case 4:
$quedia="Jueves";
break;
case 5:
$quedia="Viernes";
break;
case 6:
$quedia="Sábado";
break;
}
switch($mes) {
case 1:
$mes="Enero";
break;
case 2:
$mes="Febrero";
break;
case 3:
$mes="Marzo";
break;
case 4:
$mes="Abril";
break;
case 5:
$mes="Mayo";
break;
case 6:
$mes="Junio";
break;
case 7:
$mes="Julio";
break;
case 8:
$mes="Agosto";
break;
case 9:
$mes="Septiembre";
break;
case 10:
$mes="Octubre";
break;
case 11:
$mes="Noviembre";
break;
case 12:
$mes="Diciembre";
break;
}
$datetime = "$quedia, $dia de $mes del $ano ($hora:$min:$segs)";
return($datetime);
} | Acabado esto y usando una de estas tres maneras (segun sea nuestro caso) aun pueden quedar fechas en ingles sin traducir, por ejemplo en el encabezado de pagina (culpa del theme que usamos, prueba a editarlo) en administración (al crear,editar o aprobar una noticia) y en los modulos de descargas, enlaces y otros en los que haya que cambiar alguna llamada.
Fuente: desarrollonuke.org
|
|
|
|
| |
Agregar a favoritos
Versión Imprimible Enviar a un Amigo
Compartir:

Zips Populares - Internet la nueva adicción - Redirección de páginas web usando html - Gestos faciales regulan sentidos - Guía: Diseño de dinámicas para grupos - Ojo al maquillarte - Genoma puede diferir de una persona a otra en más de un 10% - Elaborar Mostaza
|