Hasta ahora, definir áreas que queremos que contengan traducciones nos obligaba a inventar una “llave” y luego a irnos al directorio resources/lang para especificar la llave con su traducción, esta labor se vuelve tediosa cuando tenemos proyectos con cientos de cadenas que queremos traducir. A partir de Laravel 5.4 se simplifica este proceso, ya no necesitamos especificar una llave por cada texto sino que podemos usar texto plano y además todas las traducciones se almacenarán en un simple archivo JSON como veremos en esta lección:

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

En todas las versiones de Laravel 5 para definir áreas que quieras que sean multi idioma en las vistas de Blade, puedes usar la directiva lang o la función trans, ejemplo: @lang('products.edit.title')  o {{ trans('products.edit.title') }} y luego debes crear el archivo products.php dentro del directorio de idiomas correspondiente y retornar lo siguiente:

A partir de Laravel 5.4 también definir un área para multi idioma en texto plano:

Por supuesto también puedes definir y pasar parámetros dinámicos:

Una vez hecho esto debes definir tus traducciones en resources/lang creando un archivo con el nombre del idioma y la extensión JSON, por ejemplo: resources/lang/es.json :

En tus vistas de Blade también es posible utilizar la siguientes sintaxis:

La cual te puede resultar útil para líneas más largas que tengan varios argumentos.

Un tip muy interesante es que puedes forzar que los valores de los parámetros tengan la primera letra en mayúsculas o sean impresos completamente en mayúsculas si colocas el nombre del parámetro de forma acorde, ejemplo:

Si quieres ver mucho más contenido como éste y ayudarme a seguir creando cursos, considera registrarte hoy en Styde.

Material relacionado

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Lección anterior Nueva interfaz fluida en las rutas de Laravel 5.4 Lección siguiente Eventos de Eloquent basados en clases en Laravel 5.4