Para traducir una aplicación en uno de los post me dijeron que bastaba con poner
'language'=>'es', // Este es el lenguaje en el que querés que muestre las cosas
'sourceLanguage'=>'en',
en el main.php
Esto por lo que vi me traduce los mensajes de error por ejemplo. Mi duda es como traduzco lo que esta en la capa de vista de un ABM, por ejemplo en el ABM Paises tengo New Paises, quiero modificar esto, debo modificar directamente los archivos de la carpeta views/paises, o existe otra forma. Y los mensajes de error que estan personalizados donde los arreglo.
Muchas gracias Seba, finalmente el cliente me dijo que la aplicación sería en español, asi que traduje todos los textos de los archivos de view, pero bueno supongo que si me pide que lo haga en ingles puedo hacerlo a la inversa, y poner copias en una carpeta views/paises/en y hacer ahi las traducciones. De todas formas muchas gracias. Ahora se me presento un problema, al traducir los mensajes tengo por ejemplo: Manage Paises lo puse como Administración de Paises, y ahi en lugar de ver una ó veo un cuadradito. Seguramente algo de la codificación, pero el archivo view/layouts/main.php que tiene la estructura dice utf-8 y de igual forma me muestra ese simbolo raro, debo configurar en algun otro lado?
Hola!, aunque ya no necesitas manejar varios idiomas… si me gustaría que si alguien sabe como manejar este tema de tener un sitio con multi-idioma nos explique un poco como se hace… por ejemplo yo estuve mirando el tema de INTERNATIONALIZATION(http://www.yiiframework.com/doc/guide/es/topics.i18n) y veo que se usan una función llamada ‘Yii::t()’ y otra ‘CApplication::getLocale($localeID)’ pero no se como usarlas para tener un sitio multi-idioma.
Así que si alguien me puede explicar un poco esto lo agradecería bastante.
Creando archivos view en carpetas para cada idioma como se ha mencionado más arriba.
Creando archivos de traduccion en la carpeta protected/messages y usando el comando Yii::t()
En la carpeta messages se deben crear ficheros por categorias, por ejemplo, creamos un fichero llamado users.php que tengan todas las traducciones relacionadas con las cuentas de usuarios, el formato de la traduccion es un array como este:
array(‘Username’=>‘Nombre de usuario’,‘Password’=>‘Contraseña’);
En la izquierda va el texto en el source language y en la derecha la traducción.
Por ultimo para recuperar la traduccion escribimos lo siguiente donde haga falta traducir:
<?php echo Yii::t(‘users’,‘Password’); ?> que nos imprimira ‘Contraseña’.
Muchas gracias por esta explicacion tan precisa…Me gustaria saber cual es la forma de decirle a yii con que idioma va a trabajar…y si hay varias formas para esto? muchas gracias