Buscando en la web la solución a esta interrogante solo encontré dudas y ninguna solución certera.
Así que, me puse a investigar en el código y descubrí lo siguiente:
La clave se encuentra en el archivo \cake\libs\view\helpers\FormHelper.php, en el método: _generateOptions, que es el lugar en donde se encuentran los nombres de los meses en ingles; Allí podemos observar que los nombres de los mese pasan por la función __d() como se muestra a continuación:
$data['01'] = __d('cake', 'January');
...
$data['12'] = __d('cake', 'December');
Estudiando la función function __d($domain, $msg, $args = null), que se encuentra en: \cake\basics.php observamos que el primer parámetro es $domain, que en el caso de los meses es igual a 'cake', por lo tanto y para hacer el cuento corto, nos indica que debemos crear un archivo llamado cake.po en app/Locale/spa/LC_MESSAGES con la traducción de los meses con sigue:
msgid "January"
msgstr "Enero"
.....
msgid "December"
msgstr "Diciembre"
Recomiendo usar un editor como el que se encuentra en: http://www.poedit.net/ para evitar errores, al menos al principio.
Por último debemos colocar en el core.php de la aplicación una línea como la que sigue:
Configure::write('Config.language', 'spa');
Nótese que el valor 'spa' debe coincidir con app/Locale/spa/LC_MESSAGES.
Nota: La versión usada de cakePhp es la 2.3.6.
Espero sus comentarios, aportes y preguntas.
miércoles, 26 de junio de 2013
Suscribirse a:
Entradas (Atom)