Hay veces en la que necesitamos crear una APP multilenguaje, por suerte Yii framework tiene soporte para eso.
En esta ocasión voy a poner como ejemplo para poner traducciones al español.
Lo primero que debemos de crear es dentro de protected la carpeta: messages y dentro de esa carpeta crear la carpeta: es
Dentro de la carpeta es creamos el archivo app.php:
<?php return array( 'Operations'=>'Operaciones', 'Welcome to'=>'Bienvenida/o a', 'Update'=>'Actualizar', 'View'=>'Ver', 'List'=>'Listado', 'Manage'=>'Administrar', 'Create'=>'Crear', 'Name'=>'Nombre', 'Save'=>'Guardar', 'Save # {VAR}'=>'Guardar el numero {VAR}', 'Home'=>'Inicio', );
En el main.php configurar y agregar lo siguiente:
'name'=>'My Web Application', 'language'=>'es', //Esto se debe de agregar 'sourceLanguage'=>'en', //Esto se debe de agregar 'charset'=>'utf-8', //Dentro del array components agregar lo siguiente: 'coreMessages'=>array( 'basePath'=>'protected/messages' ),
Yii de por si ya tiene traducciones de la mayoría de sus componentes, lo que debemos de hacer en este ejemplo es ir a la carpeta donde se encuentra Yii luego entrar a las carpetas framework/messages/es y copiar zii y yii (son archivos .php) a la carpeta protected/messages/es.
Ahora podemos probar las traducciones en cualquier vista (en este caso pueden probar en el admin.php) utilizando:
echo Yii::t('app','Manage'); echo Yii::t('app','Save');
En el layout.php podemos crear links para que los usuarios que utilicen la APP puedan cambiar de lenguaje, para eso podemos utilizar esta extensión: yii-multilanguage
Haciendo todo lo mencionado en este artículo tendrán una APP multilenguaje, espero que les sea de utilidad.