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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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:
1 2 3 4 5 6 7 8 9 10 | '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:
1 2 3 | 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.