Cargando



Contenido en varios idiomas con Laravel

En este tutorial veremos cómo generar este archivo para algunos idiomas y luego como establecer que nuestra aplicación muestre un idioma u otro.


oct 03 2014 04:11
Avanzado
oct 03 2014 10:45
Uno de los principales requerimientos cuando hacemos aplicaciones grandes, es que se pueda consumir en varios idiomas, esto con la finalidad de que pueda aprovecharse en todo el mundo, generalmente sucede cuando es un servicio grande o cuando la aplicación es parte de una empresa trasnacional.

Laravel tiene una estructura que nos permite incorporar archivos de tropicalización o localización, con estos archivos podemos ajustar el contenido para sea visto en varios idiomas, con ello solo tendremos que cargar un archivo con las traducciones.

Requisitos
Para realizar este tutorial solo necesitamos hacer una instalación estándar de Laravel y tener claro los conocimientos de rutas y vistas.


Crear los archivos de idiomas


La instalación estándar de Laravel debe habernos dejado una carpeta llamada lang dentro de la carpeta app, ahí debemos crear si no existen ya, las carpetas “en”, “es”, “de”, correspondientes para inglés, español y alemán respectivamente.

Dentro de cada una de estas 3 carpetas vamos a crear un archivo llamado localized.php de esta forma podremos colocar el contenido de cada idioma, veamos que llevará cada uno:

En el archivo localized.php que está en la carpeta “en” vamos a colocar lo siguiente:

<?php
return array(
'saludo' => 'Good morning :nombre',
'cortesia' => 'Nice to meet you!',
'despedida' => 'Goodbye, see you tomorrow.',
);

En el mismo archivo pero de la carpeta “es” iría lo siguiente:

<?php
return array(
'saludo' => 'Buenos días :nombre',
'cortesia' => 'Gusto en conocerlo',
'despedida' => 'Hasta mañana.',
);

Finalmente vamos con la carpeta “de” que corresponde al alemán.

<?php
return array(
'saludo' => 'Guten morgen :name',
'cortesia' => 'Es freut mich!',
'despedida' => 'Tag. Bis bald.',
);


Lo que podemos destacar es que hemos creado 3 arrays que contienen los mismos elementos, solo que el contenido de estos elementos es diferente en función del idioma.

Generar las rutas


Ahora vamos a generar las rutas adecuadas para servir los idiomas en nuestras vistas. En primera instancia debemos crear la ruta que nos permita acceder a una vista de elección de idiomas, luego otra ruta que reciba el idioma elegido y lo establezca, veamos entonces:

laravel_contenido_varios_idiomas.jpg


Luego vamos a hacer una ruta que construya una sesión con el idioma electo por el usuario, en caso que no haya una sesión se tomará el idioma español por defecto, veamos:

laravel_contenido_varios_idiomas2.jpg


Ahora debemos crear las vistas, iniciaremos con la vista de elección de idioma, está la vamos a crear en una nueva carpeta llamada idiomas dentro de app/views y se llamará elegir.php, su contenido es sencillo, un formulario con un elemento de selección con los 3 idiomas, veamos:

laravel_contenido_varios_idiomas3.jpg


Ahora vamos a crear la vista localized que activamos en las rutas, en la misma carpeta app/views/idiomas vamos a generar un archivo llamado localized.php, dentro lo que haremos será llamar a los elementos del array que habíamos construido al inicio del tutorial, la idea es que imprima el contenido según el idioma elegido en la pantalla elegir.php.

laravel_contenido_varios_idiomas4.jpg


Con esto según el idioma que tengamos obtendremos un saludo diferente, si recordamos en los arrays en el elemento saludo habíamos dejado algo que se llamaba :nombre, esto es un placeholder que nos permite insertar un contenido de forma dinámica, por eso en nuestra última vista cuando llamamos a ese elemento le pasamos una array con un elemento nombre.

Si hemos sido observadores vimos que dejamos por fuera el idioma alemán del selector, esta va a ser la práctica que deben realizar para afirmar los conocimientos, incluir el idioma alemán y hacer que funcione.

De esta forma finalizamos este tutorial, donde ya sabemos incluir varios idiomas en nuestras aplicaciones en Laravel.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X