Laravel 5.4 #22 : Aplicación multilenguaje

Hoy vamos a hacer que nuestro proyecto sea multilenguaje, es decir, que esté en varios idiomas (Español e Inglés). Aunque simplemente lo aplicaremos a los textos estáticos, no a los que se guardan en la base de datos.

Las cadenas de texto que se van a mostrar según el idioma que seleccionemos se guardan en resources/lang . Ahí veremos una carpeta en, que es donde se encuentran las traducciones en inglés. Creamos una carpeta llamada es, en mi caso, si quisieras otro idioma, simplemente, crea la carpeta con el nombre del idioma que quieras.

Una vez hecho esto, creamos tanto en la carpeta en como en la es un archivo llamado header.php y contendrán:

Estas serán las cadenas de texto que se traducirán en las vistas. Para acceder a estas cadenas de texto podemos hacerlo de varias maneras, yo he utilizado esta:

Indicamos el nombre del archivo y después el nombre identificativo de la cadena de texto.

 

Modificamos el header de layouts/app.blade.php  para que sea multilenguaje:

 

Ahora vamos a crear un middleware que será el que determinará el idioma:

Lo abrimos:

Este archivo lo que hace es comprobar si tenemos una sesión llamada lang con el idioma, si no la tenemos coge el idioma del navegador y lo aplica como idioma de la app.

Ahora, para aplicarlo, vamos a app/Http/Kernel.php :

 

Lo único que nos falta es crear la ruta con el middleware web (anteriormente modificado):

Y añadimos los enlaces para cambiar de idioma donde queramos:

 

 

-

https://laravel.com/docs/5.4/localization

https://laravel.com/docs/5.4/session


Aloja tu proyecto en DigitalOcean: Obtén $200 de crédito gratis al registrarte a través de este enlace.

Si hay cualquier tipo de error en el post o te surge cualquier duda, no dudes en ponerlo en los comentarios o enviarme un correo desde la página de contacto.

? CONTACTAR

Un comentario en “Laravel 5.4 #22 : Aplicación multilenguaje

Deja una respuesta

  Acepto la política de privacidad