Traducir aplicacion

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.

Copia los archivos de la vista views/paises a views/paises/es.

Modifica esos archivos como si los estuvieses utilizando en español.

Cualquier duda consultame por aquí.

Saludos,

Sebas

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?

Gracias.

------------------------------------------------------------------0-----------------------------------------------------------------------------

Solucionado: era un problema en el editor, no lo tenia configurado para UTF8 sino para otra codificacion. Ahora esta perfecto. Muchas gracias.

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.

Un saludo!

Hola,

Hay dos formas de traducir cosas en Yii.

  1. Creando archivos view en carpetas para cada idioma como se ha mencionado más arriba.

  2. 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’.

Espero que os haya podido ayudar!

Saludos,

Alex.

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

Yo hago estas cosas y no me funciona…no se que problema tengo…

En la carpeta messages creo un php que devuelve el array de las traducciones

indico en el main los languages de la app y en una de las vistas hago la llamada a Yii::t pero ni caso…

no entiendo :(


Edito:

Arreglado. tenia un problema en el config/main

Estoy siguiendo tus indicaciones… He metido todas las vistas en una carpeta que pone en/

pero claro ahora no me renderiza las vistas porque me da error… :(