Icono del sitio Carlos Herrera

Usar PoEdit (po y mo) en Laravel

Durante el desarrollo de proyectos en Laravel siempre me he preocupado de la parte multi-idioma, en concreto de que un traductor profesional no tiene por qué saber programación ni lo que son las arrays de traducción que existen en un proyecto. Cuando pienso eso, recuerdo a nuestro conocido WordPress y me pregunto… ¿Se podrá usar el sistema po y mo de forma fácil en Laravel como se hace en WordPress?

Después de investigar he creado una pequeña guía que puede ayudarte:

Usar el Package PO y MO con Laravel Gettext

Laravel Gettext es un package creado por el usuario Xinax (puedes acceder desde el siguiente link: https://github.com/xinax/laravel-gettext) Pese a que los pasos están claros, están en inglés, así que te lo detallo paso a paso desde aquí:

Instalación

Usando Composer:

Agrega este código en la parte de Require de tu composer.json

*Esté código funciona con Laravel 5.3, pero en la web de origen tienen paquetes para versiones anteriores, inclusive para Laravel 4

Luego en tu consola apuntando a la carpeta del proyecto ejecuta:

Configuración

Dirígete al archivo de configuración: app/config/app.php y agrega esta línea en la parte de providers:

En tu consola nuevamente ejecuta esto:

Creará un archivo de configuración para el PO y MO, este se encuentra en /app/config/laravel-gettext.php

Puedes entrar y configurar; como nuestro idioma base será el español debes cambiar el EN_us por ES_es y agregar dentro del array de idiomas soportados también el español.

Si queremos hacer un cambio de idioma cuando se haga un login podemos usar el middleware agregando esta línea en nuestro Kernel ubicado en app/Http/Kernel.php

Uso

Aquí algunos ejemplos de como usar esta maravillosa herramienta:

Cómo podemos usarlo con Blade

Úsalo para traducir todo tu proyecto. Luego para poder editar los po y mo  debemos hacer lo siguiente:

Vamos a actualizar los archivos po y mo recogiendo todos los textos que has usado la función __(”) y creando un archivo message.po para cada idioma que has configurado previamente.

Usar POEditor

Puedes descargarlo aquí:

Luego ve al lenguaje que necesitas traducir y abre el archivo .po,  éste se encuentra en /resources/lang/i18n/ , a continuación presiona el botón Actualizar del programa PO editor. Esto generará un nuevo archivo po con las traducciones existentes.

Con estos pasos tendrás tu Laravel traducido a varios idiomas y sin dolores de cabeza para los traductores. Ya no tendrán que tocar archivos engorrosos php. Así todos contentos 🙂

Salir de la versión móvil