Uso <?php echo __("this is my string"); ?>
dentro de mis vistas para mostrar texto en varios idiomas. He creado un directorio .po-archivo para alemán:CakePHP 2.1 archivos .po/traducción no funciona
=> app/locale/GER/LC_MESSAGES/default.po
msgstr "este es mi cadena"
msgstr "dies ist meine zeichenkette"
Cuando agrego a mi Configure::write('Config.language','ger');
AppController.php beforeFilter funcionar el texto sigue siendo 'este es mi cadena'. Incluso si creo un .po para inglés con un msgstr diferente, el texto sigue siendo el mismo.
¿Debo cambiar una configuración específica para activar la traducción?
Tengo un seguimiento problema: He añadido a Configure::write('Config.language','eng');
core.php para establecer mi idioma por defecto, pero ahora no puedo cambiar el valor, incluso si trato de anularlo en AppController.php beforeFilter con:
Configure::write('Config.language', 'deu'); //'de' also doesn't work
CakeSession::write('Config.language', 'deu'); //'de' also doesn't work
Si cambio en el valor core.php funciona perfectamente bien, pero una vez puesta en core.php no puedo cambiarlo.
resuelto: ah, me olvidé de agregar parent::beforeFilter();
dentro de la función beforeFilter de todos los controladores.
Información adicional:
- Si desea definir un idioma por defecto (y por lo general se), añadir a la
Configure::write('Config.language', 'eng');
core.php
Gracias por la pista con el archivo L10n.php, lo haré usar eso para referencias futuras. –
gracias, mira el núcleo de cakePhp, me ayuda a entender. –