PROBLEMA CON CALENDARIO Y FECHAS EN INGLES

PROBLEMA CON CALENDARIO Y FECHAS EN INGLES

de miguel manyari -
Número de respuestas: 8

HOLA... ya llevo varios meses con el problema que el calendario y las fechas de enventos se muestran en ingles mientras todo el sitio moodle..esta en español, sucede que probe poner es_es..pero al final despues de investgar un poco me di con la sorpresa que son valores locales del servidor donde tengo alojado mi moodle....pero no los se...o no los puedo visualizar ...asi k preferi la traduccion manual...un ejemplo
<?php

$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado");


$meses = array("Diciembre","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Setiembre","Octubre","Noviembre");

echo $dias[date('w')];
echo strftime("%d de");
echo $meses[date('n')];
echo strftime("del %Y");
?>

el problema es como hacer que moodle entienda eso en el lib.php dentro de calendar,,pude configurar los dias en español , mas no los meses, en el ejercicio superior W y N devuelven valores numericos y el array interpreta su valor en cadena....es posible hacer esto en lib.php?????,,,si eso resulta favorable terminaria el problema del idioma y las fechas ...espero pronta respuesta....

Adjunto pantalla.JPG
Promedio de valoraciones: -
En respuesta a miguel manyari

Re: PROBLEMA CON CALENDARIO Y FECHAS EN INGLES

de Manuel de la Torre -
Miguel,

Has podido solucionar tu problema de los meses?

Saludos.

Manuel.
En respuesta a Manuel de la Torre

Re: PROBLEMA CON CALENDARIO Y FECHAS EN INGLES

de Manuel de la Torre -
Me autorespondo...

En el caso de Moodle 1.7+ lo solucione de la siguiente manera.

1. Baje el locale apropiado con: (en debian/ubuntu)

sudo apt-get install language-pack-es

2. Configure el locale

es_ES.utf8

3. Arranque Apache (solo para prevenir!)

apache2ctl restart

Saludos,

Manuel.
En respuesta a Manuel de la Torre

buen punto..!

de miguel manyari -

hola manuel...

La solución planteada, supone tener un servidor montado dedicado (uno k tienes control total un housing)..en mi caso solo contrate un servidor con capacidad grande a un provedor (hosting) por lo k no tengo acceso a la configuracion de apache...solo puedo subir data por panel y por ftp.. por eso mi problema...es k ellos no han instalado el language pack local a su apache...y dudo k kieran hacerlo...pero igual consultare ello...

yo planteaba una solucion por codigo...directamente del lib.php dentro de la carpeta calendar..es donde moodle..mediante date() recoge la hora local del servidor...supuestamente la siguiente linea de codigo seria

setlocale(LC_TIME, es_ES.utf8);  

 ........esto haria k moodle configurara todo en es_ES.utf8, pero el problema es ke no tengo el locale instalado...entonces planteaba krear antes utilizar la funcion date() un array con los dias..y meses..pero el problema es k todavia no entiendo la logica de los programadores de moodle...pues ellos no utilizan las variales N y W por defecto de php...sino k krean objetos a partir de una funcion declarada....bueno seguire investigando...gracias por tu mensaje y tu interes...

saludos...

En respuesta a miguel manyari

Re: buen punto..!

de Manuel de la Torre -
Miguel,

De hecho la solución que puse no se le aplica a Apache sino que directamente al Sistema Operativo que éstes usando en mi caso es Ubuntu.

Espero soluciones tu problema. Saludos...

Manuel.
En respuesta a Manuel de la Torre

EL FORMATO DE LAS FECHAS...UNA POSIBLE SOLUCION

de miguel manyari -

holas.....

encontre una posible solucion a las fechas en ingles...y es cambiando el formato de las fechas...es decir...en lugar de JANUARY seria 01....y los dias aparecerian en la sucesion numerica del 01 al 31...suprimiendo los dias...es decir..ya no sale monday ..ni nada...asi kdaria el formato

28/01/2007--------en lugar de "domingo 28 de enero de 2007"

claro k afecta un poco la estetica del formato de fechas..pero almenos se soluciona el problema del idioma....no??...aunke lo ideal seria..un array..k sustituya el valor numerico por el de la fecha en español......bueno...

el archivo a modificar es el langconfig.php..ubicado en /lang/es_utf8/ del directorio de moodle....

<?php
$string['alphabet'] = 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z';
$string['backupnameformat'] = '%%Y%%m%%d-%%H%%M';
$string['firstdayofweek'] = '1';
$string['locale'] = 'es_ES.UTF-8';
$string['localewin'] = 'Spanish_Spain.1252';
$string['localewincharset'] = 'WINDOWS-1252';
$string['oldcharset'] = 'ISO-8859-1';

$string['strftimedate'] = '%%d / %%m / %%Y';  (la m reemplaza la B ahora solo imprime el numero del mes del 01 al 12)

$string['strftimedateshort'] = ' %%d / %%m '; (de manera similar al anterior y en adelante)

$string['strftimedatetime'] = ' %%d / %%m / %%Y, %%H:%%M';
$string['strftimedaydate'] = ' %%d / %%m / %%Y ';
$string['strftimedaydatetime'] = '%%d / %%m / %%Y, %%H:%%M';
$string['strftimedayshort'] = '%%d, %%d %%m';
$string['strftimedaytime'] = '%%d, %%H:%%M';
$string['strftimemonthyear'] = '%%m / %%Y';
$string['strftimerecent'] = ' %%d / %%m, %%H:%%M ';
$string['strftimerecentfull'] = '%%d / %%m / %%Y, %%H:%%M';
$string['strftimetime'] = ' %%H:%%M';
$string['thischarset'] = 'UTF-8';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Español';
?>
----------------------------------------------------------------------
en este caso...%%B devuelve el formato de fecha en cadena....reemplazado por %%m, donde m devuelve el valor del mes en un numero

en el caso del dia...simplemente lo suprimimos...
------------------------------------------------------------------------------
ANOTACIONES FINALES......

$string-------tiene: strftimedatetime
                            strftimetime....etc...

los cuales son invocados por la funcion USERDATE()...en el archivo moodlelib.php........
luego...USERDATE(), es invocado en lib.php dentro de /calendar...con los argumentos strftimedatetime, sfrtimetime, etc.....
------------------------------------------------------------------------------
SALUDOS

En respuesta a miguel manyari

OTRA POSIBLE SOLUCION

de Cristina Urdánoz -

Hola a todos,

Hasta ayer yo tuve el mismo problema. Alguien de este foro me dijo que el problema dependía de la configuración de los parámetros de MySQL y APACHE del servidor. Me puse en contacto con el administrador del servidor y él mismo me hizo un parche. Y además me envió el "cómo hacerlo":

---------------------------------------------------------------------------------------------

5. Parcheo Instalacion MySql

Solicita un acceso a un MySql avanzado, se puede parchear la comprobación en el

fichero:

lib/enviromentlib.php

function bypass_mysql416_reqs ($result) {

/// See if we are running MySQL >= 4.1.12

if (version_compare($result->getCurrentVersion(), '4.1.12', '>=')) {

return true;

}

return true; //ACEPTA TODO MYSQL

return false;

}

6. Parcheo Idioma

Para castellanizar el idioma de los meses

En Portada

Fichero

lib/modlelib.php

function userdate($date, $format='', $timezone=99, $fixday = true) {

global $CFG;

//MB

$CALENDARMES =

array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Oc

tubre','Noviembre','Diciembre');

$CALENDAR2MES

=array('January','February','March','April','May','June','July','August','September','Oc

tober','November','December');

static $strftimedaydatetime;

//MB

$datestring=str_replace($CALENDAR2MES,$CALENDARMES,$datestring);

return $datestring;

}

En Calendario

Fichero

calendar/lib.php

Definición de arrays de traslacion

$CALENDARDAYS = array

('sunday','monday','tuesday','wednesday','thursday','friday','saturday');

//MB

$CALENDARMES = array

('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre

','Noviembre','Diciembre');

$CALENDAR2MES = array

('January','February','March','April','May','June','July','August','September','October'

,'November','December');

Funciones a modificar:

function calendar_top_controls($type, $data) {

global $CFG, $CALENDARDAYS,$CALENDARMES,$CALENDAR2MES;

$content = '';

break;

}

//MB

//Cambio MES

$content=str_replace($CALENDAR2MES,$CALENDARMES,$content);

return $content;

--------------------------------------------

Espero que os sirva,

Cristina

En respuesta a Cristina Urdánoz

Re: OTRA POSIBLE SOLUCION

de miguel manyari -
hola critina...estuve probando lo k planteaste...y si funciona...pero hay un problema...al momento de editar los dos ficheros...ya no se puede entrar en los cursos...y tengo k volver a los archivos originales...sin cambios....se debe al parche?...o estoy haciendo algo mal...espero tu respuesta...saludos
En respuesta a miguel manyari

Re: PROBLEMA CON CALENDARIO Y FECHAS EN INGLES

de Manuel García -
Hola Miguel, te invito a que pases por este post...

http://moodle.org/mod/forum/discuss.php?d=65943

allí explico como solucione el mismo problema que se te presenta a tí.

De antemano te invito a que te pases por esta página http://www.dta.uc.edu.ve/moodle_dta/ y verifiques que dicha modificación funciona 100%....


Manuel A. García S.
Dirección de Tecnología Avanzada - Universidad de Carabobo
Venezuela