A partir de hoy pueden encontrar en GitHub el módulo que permite gestionar las traducciones de forma sencilla (o, por ahora, de la más sencilla posible) de Magento.
Las ideas principales detrás del módulo son:
- permitir a cualquier usuario gestionar el contenido de los archivos CSV sin necesidad de tener acceso al código
- de no requerir de un programador que baje los archivos y luego haga el commit de los archivos modificados
- poder gestionar múltiples traducciones a la vez (en particular las claves que se repiten)
Si bien podría suponerse que son temas menores, en el día a día, cuando se trabaja con muchos proyectos, estos puntos toman relevancia.
La lisa de funcionalidades incluye:
- Creación de nuevos paquetes de idioma desde 0 o copiando uno existente para tomar como base.
- Importación de paquetes de idioma existentes.
- Traducción de mensajes de forma masiva cuando la clave se repite.
- Integración con el traductor de BING.
- La posibilidad de importar y exportar los archivos de traducción entre una instancia de la plataforma y otra.
- Búsqueda rápida de claves.
- Si sos desarrollador, podés crear el archivo de traducciones y al finalizar separar el archivo para incluirlo con tu código.
- Implementada la directiva CMS translate (la cual permite traducir textos dentro de un bloque o página CMS).
- Compatible con Magento CE 1.5.x a 1.9.x.
- Compatible con Magento EE 1.11.x a 1.14.x.
Si bien durante los próximos días estará disponible la wiki, detallando paso por paso, a manera de adelanto, el funcionamiento es el siguiente.
Dentro del menú Sistema -> Translator, encontraremos una grilla que nos mostrará los paquetes de idioma que tengamos dentro del módulo.
El siguiente paso podrá ser el de Crear un nuevo paquete.
Como opciones, podemos crear un paquete desde 0 o podemos copiar desde alguno que ya hayamos creado o importado, previamente, dentro del módulo.
La forma de importar un paquete ya existente (es decir, que los archivos ya existan físicamente en nuestra instancia de Magento), es bastante sencilla.
Seleccionamos el idioma que buscamos y con el botón Importar obtendremos todos los valores dentro del módulo.
Ahora nuestra grilla de paquetes comenzará a mostrar registros.
Con la opción «Administrar» podemos realizar varias tareas más bien administrativas sobre el paquete. Más allá de poder ver información anecdótica sobre el locale, podemos descargar los archivos CSV.
Ahí podemos seleccionar el que estemos buscando o todos. Con la acción se generará un único archivo zip que contendrá a los demás archivos.
También podemos subir un archivo CSV al paquete.
Ahora, para trabajar específicamente sobre las traducciones de cada una de las claves (las calves son el mensaje tal cual como se encuentra programado en el código), volvemos a la grilla principal y hacemos click en Ver.
Esto nos llevará dentro del paquete y nos mostrará cada una de las claves, su traducción y a qué módulo pertenece.
Al editar una clave, llegaremos a ésta pantalla.
Nos indica a qué módulo pertenece, la calve (el valor que se encuentra en el código) y la traducción que queremos asignarle.
Dado que hay veces en que una misma clave se encuentra en múltiples archivos de traducción, existe la opción de actualización masiva. Esto quiere decir que se reemplazará esa clave en todos los módulos (un caso común puede ser «and»).
Si en lugar de editar, estamos creando una clave, el formulario será:
Unas de las funcionalidades opcionales es la integración con el traductor de BING. El mismo ofrece un servicio gratuito de hasta 2 millones de caracteres por mes.
Para configurar la opción debemos ir a Sistema -> Configuración -> Translator (casi al final de todas las opciones, dentro del grupo DC Modules).
Ahí habilitaremos el uso de la integración e ingresaremos nuestras credenciales. Una vez guardadas veremos el siguiente mensaje.
Ahora si, podemos probar que las credenciales sean correctas.
El mensaje nos indicará si todo fue correcto o si existiera algún problema.
Hecho esto, si volvemos a crear o editar una clave, el formulario mostrará la opción de traducción automática y ya podremos usarlo.
Básicamente, ingresamos nuestro mensaje y al hacer click sobre el botón de Traducción Automática, obtendremos el mejor mensaje posible, según el servicio.
Si suponemos que ya hemos aplicado todas las traducciones que necesitábamos, el paso siguiente será el de generar los nuevos archivos CSV con nuestra nuevas traducciones.
Para eso volvemos a la lista de paquetes de idioma e ingresamos en Administrar.
El botón de Generar Paquete es el encargado de finalizar el proceso. Una vez presionado, si todo sale bien, volveremos a la grilla general con un mensaje informativo.
Existe un escenario en el cual este proceso podría fallar y es cuando la configuración de permisos hace que por algún motivo, la carpeta /app/locale no puede ser modificada por el usuario que ejecuta el webserver. Es necesario tener la configuración de forma correcta, sino tendremos un mensaje de error al intentar escribir los archivos.
Del roadmap de futuras funcionalidades, la que ya se ha agregado es la de una nueva directiva cms: {{translate text=»Mensaje a traducir»}}
(Esta funcionalidad se ha tomado del módulo MB_Translate, de Miguel Balparda)
Esto hará que en nuestros bloques o páginas, podamos traducir un texto sin la necesidad de duplicar bloques (está claro que es válido para ciertos escenarios, para otros, la asignación de bloques o páginas diferentes es la opción correcta).
Repositorio de Dc_Translator en GitHub.
Ahora si, pasen, vean, prueben y forkeen.