Cómo traducir un comercio electrónico basado en Magento

Ragazzo indica logo magento

Magento es una plataforma de comercio electrónico de código abierto, basada en PHP y MySQL y lanzada por primera vez en 2008. Actualmente es propiedad de Adobe, Inc. y recientemente ha pasado a llamarse Adobe Commerce. Su cuota de mercado es estable pero relativamente baja, entre el 2% y el 3% de todas las tiendas en línea, pero suele preferirse para páginas web con mucho tráfico.

Elección de la estrategia de localización de Magento

Con el fin de presentar una visión general del entorno de trabajo, esta guía sólo tratará uno de los dos enfoques principales para traducir un comercio electrónico basado en Magento. Elegimos este enfoque porque Magento facilita la exportación de gran parte del contenido del comercio electrónico como simples archivos CSV, un formato muy fácil de traducir. Nuestro enfoque es sin duda más lento, pero permite controlar mejor todo el proceso. Así que, si el tiempo lo permite, puedes traducir tu tienda online Magento siguiendo estos cuatro pasos fundamentales:

  1. Preparar la instalación de Magento para que sea multilingüe
  2. Extraer el contenido textual de la página web
  3. Traducir los ficheros resultantes
  4. Publicar las traducciones

El procedimiento sugerido se basa en Magento Open Source versión 2.3, pero también debería ser válido para versiones posteriores.

El enfoque alternativo es utilizar un conector de localización externo, como Smartcat, Weglot, Memsource y muchos otros. Este enfoque puede requerir menos esfuerzo manual, pero será necesario confiar en el desarrollador del conector para el soporte y las actualizaciones futuras. Para saber más sobre este método, consulta nuestro informe sobre cómo Traducir sitios web con proxies de traducción.

Muchos pasos del flujo de trabajo sugerido requieren derechos de administración. Se supone que tienes privilegios de administrador (o similares) en tu instalación de Magento Commerce, de lo contrario no podrás ejecutar comandos, instalar extensiones, etc.

Preparar Magento Open Source para hacerlo multilingüe

En primer lugar, examinemos dónde se encuentra el contenido traducible en el sistema Magento:

  • Backend y mensajes del sistemas
  • Temas
  • Contenido CRM
    • Páginas
    • Bloques
  • Contenido dinámico
    • Atributos
    • Categorías
    • Productos
  • Extensiones
  • Archivos externos
    • Plantillas de correo electrónico
    • Imágenes
    • PDF
    • Vídeos
  • Código incrustado

Las plantillas de correo electrónico suelen almacenarse en la carpeta del módulo Sales:
[root]/vendor/magento/module-sales/view/frontend/email/

El backend de Magento y los mensajes predeterminados del sistema ya están traducidos a muchos idiomas por la comunidad y están disponibles de manera pública como «paquetes de idiomas» en el repositorio oficial de Github Magento Internationalisation.

Por lo tanto, para iniciar el proceso de localización:

  1. Descarga y añade el paquete de idioma de destino necesario para cada idioma de destino.
  2. Añadir un nuevo Store View para cada idioma
  3. Adaptar la configuración local a las preferencias del país de destino en cuanto a moneda, unidades de medida, etc.

Añadir un paquete de idioma en Magento

Se recomienda encarecidamente consultar a un experto para instalar un nuevo paquete de idiomas, ya que hay varias formas posibles en función de la configuración del sistema. Debes tener al menos acceso FTP a la carpeta principal de Magento y cargar el diccionario de traducción correspondiente en una carpeta específica.

A modo de ejemplo, éste es el procedimiento para instalar el paquete de idioma italiano:

  1. Descarga el archivo del paquete en italiano it_IT.csv de https://github.com/magento-l10n/language-it_IT.
  2. Sube tu contenido por FTP a la siguiente carpeta (créala si no existe):
    [root]/App/i10n/en_IT/.
  3. Vacía la caché de Magento para aplicar los cambios al frontend.
  4. Para mostrar el backend de Magento en italiano, cambia el idioma de visualización en el nivel de perfil de usuario si es necesario.

Siempre es posible actualizar el paquete de idiomas editando el archivo it_IT.csv y cargándolo de nuevo en la misma carpeta y borrando la caché después.

Magento intentará aplicar el diccionario de traducción a todo el texto mostrado en el frontend. Esto significa que una misma palabra se traducirá siempre de la misma manera, por lo que hay que tener mucho cuidado para evitar la aplicación de una traducción errónea en un contexto diferente a palabras con más de un significado.

Una forma de resolver este problema es traducir el mismo elemento de diferentes maneras para diferentes módulos modificando el archivo CSV original, que tiene este aspecto:

«Add to Cart», "Añadir a la cesta"

Y especificar la forma para cada variante de traducción:

«Add to Cart», "Añadir a la cesta", módulo, Magento_Review
«Add to Cart», "Añadir a la cesta", módulo, Magento_Catalog

Si no estás seguro de qué módulo requiere una determinada traducción, o si hay varias traducciones dentro del mismo módulo, debes editar la traducción del elemento desde el backend (ver más abajo), porque siempre tendrá la máxima prioridad sobre los diccionarios de traducción. Para más información, consulta esta página: https://developer.adobe.com/commerce/frontend-core/guide/translations/dictionary/.

Como alternativa, Magento ofrece la función Traducción en línea. La traducción en línea es una forma sencilla de traducir los contenidos de la tienda directamente desde el frontend haciendo clic en cada frase. Puede activarse desde Stores → Configuration → Advanced → Developer → Inline translation. Para más información, véase https://docs.magento.com/user-guide/system/translate-inline.html.

La traducción en línea sólo está disponible en el modo Desarrollador, que puede ser configurado por un administrador.

Añadir una Store View para un nuevo idioma en Magento

Una vez añadido el nuevo idioma a Magento, es necesario crear una nueva Store View, para añadir el menú para cambiar entre idiomas (language switcher) en el frontend. Para añadir una nueva store view, procede del siguiente modo:

  1. Desde el panel de administración ve a Stores → Settings → All stores.
  2. Haz clic en Crear Store View en la esquina superior derecha.
  3. Rellena el formulario de la siguiente manera:
    Store es la tienda padre de la nueva vista de tienda.
    Name es el nombre de la nueva store view, que se mostrará en el menú de idiomas, por ejemplo, Italiano.
    Code es el ID de la vista de tienda y debe estar en minúsculas, por ejemplo, Italiano.
  4. Activa la nueva vista.
  5. Introduce un número de Sort Order (opcional) para cambiar el orden en el que aparece la view
  6. Guarda la nueva Store View

Si la tienda original sólo está en un idioma, es posible que el idioma no esté indicado en la configuración de la store view, sino que simplemente esté configurado como «Default» en lugar de «English». En este caso, se recomienda utilizar el idioma de origen correspondiente como nombre e ID y asegurarse de que todos los elementos de contenido traducibles también están configurados con el ID de idioma correcto.

Actualizar la configuración de ubicación de una Store View de Magento

La nueva configuración de la tienda debe actualizarse para reflejar la configuración local, es decir, el país, la región, la unidad de medida, la moneda, etc. Procede del siguiente modo:

  1. Ve a Tienda → Ajustes → Configuración.
  2. Selecciona en el menú desplegable de la parte superior izquierda la vista de tienda correspondiente al idioma que quieres configurar.
  3. En el panel General, desmarca las casillas Use Website situadas junto a los campos y configura los menús desplegables con los valores correspondientes a Country, Local, etc.
  4. Selecciona Currency Setup, desmarca las casillas Use Website situadas junto a los campos y seleccione la nueva moneda, por ejemplo, el euro.
  5. Guardar.
  6. Actualiza el tipo de cambio si es necesario desde Stores → Currency → Currency Rates.

Cómo traducir los temas de Magento

De forma similar a la adición de un paquete de idiomas, los textos de los temas de Magento se pueden traducir añadiendo un diccionario de traducción, que es un archivo CSV ubicado en una carpeta específica del tema. Si el diccionario de traducción de la lengua de destino no está disponible, puede generarse y traducirse manualmente.

  1. Cree la estructura de carpetas necesaria para el tema añadiendo la carpeta
    [magento_root]/app/design/frontend/[vendor_name]/[theme_name]/i18n.
  2. Extraer el texto traducible en formato CSV: abre el terminal de línea de comandos y ejecuta el comando bin/magento i18n:collect-phrases, seguido de las opciones requeridas (archivo de salida, carpeta a traducir).
  3. El archivo resultante tendrá dos columnas en el idioma de origen, la primera de las cuales debe permanecer sin traducir, mientras que la segunda debe traducirse al idioma de destino.
  4. Cambia el nombre del archivo traducido utilizando el código ISO del idioma de destino, por ejemplo it_IT.csv para el italiano.
  5. Carga el nuevo archivo CSV en la carpeta creada al principio.
  6. Vacía la caché.

Cómo traducir el contenido de una tienda Magento

El contenido que se puede traducir en una tienda online Magento se puede dividir en dos categorías: contenidos estáticos y contenidos dinámicos.

Los contenidos estáticos suelen ser menús, páginas (por ejemplo, la página de inicio, la página «Quiénes somos», etc.) y bloques, y están enlazados por widgets. Cada widget es básicamente un conjunto de opciones que define cómo se muestra un determinado bloque en una determinada página. Sólo pueden traducirse desde el backend y la misma página en diferentes idiomas debe compartir el mismo valor de Clave URL.

Los contenidos dinámicos, por su parte, son los nombres, descripciones y metadatos de los productos, junto con sus atributos y categorías. Pueden traducirse desde el backend o en formato CSV.

Traducir páginas de Magento desde el backend

La traducción de páginas desde el backend puede hacerse manualmente de la siguiente manera:

  1. Ve a Content → Elements → Pages.
  2. Abre la página de inicio en modo de edición, configura la Store View en el idioma adecuado y, a continuación:
    1. Abre un nuevo documento en un editor de texto sin formato.
    2. Copia y pega todo el texto traducible en el editor de texto: título, cabecera, metadatos...
    3. Haz clic en Show/Hide Editor para mostrar el código HTML y copia y pega el código en el documento abierto en el editor de texto.
    4. Guarda el documento como HTML y tradúcelo.
  3. Haz clic en el menú Save y selecciona Save & Duplicate.

Una vez terminada la traducción:

  1. Vuelve al Content → Elements → Pages
  2. Abre la página duplicada en modo edición.
  3. Copia y pega el título, la cabecera y el código HTML de la página traducida del nuevo archivo de idioma en los campos correspondientes del cuadro Contenido.
  4. Deja la clave de la URL original y copia y pega los metadatos traducidos en el cuadro SEO.
  5. Escoge la Store View para la nueva página.
  6. Guardar.

Puede ser necesario ir a la página Edit URL para CMS para cambiar la Request path con el fin de evitar conflictos.

Traducir bloques de Magento desde el backend

Los bloques también son contenedores de texto que se muestran en diferentes páginas. Para traducir su contenido, procede del siguiente modo:

  1. Ve a Content → Elements → Blocks.
  2. Abre el bloque inicial en modo de edición, configura la Sore View en el idioma adecuado y, a continuación:
    1. Abre un nuevo documento en un editor de texto sin formato.
    2. Copia y pega el título del bloque y haz clic en Mostrar/Ocultar editor para mostrar el código HTML; a continuación, copia y pega el código en el documento abierto en el editor de texto.
    3. Guarda el documento como HTML y tradúcelo.
  3. Haz clic en el menú Save y selecciona Save & Duplicate.

Una vez terminada la traducción:

  1. Vuelve a Content → Elements → Blocks.
  2. Abre el bloque duplicado.
  3. Copia y pega el título y el código HTML del bloque traducido del archivo en el nuevo idioma en el cuadro del Editor. Cambia el identificador si es necesario.
  4. Guardar.

Configurar un nuevo Widget en Magento

Ahora hay que configurar un widget para enlazar cada nuevo bloque en el idioma de destino con la página correspondiente. A diferencia de las páginas y los bloques, los widgets no pueden duplicarse; por lo tanto, una vez creado el bloque en el nuevo idioma, es necesario crear un widget y aplicar las mismas opciones que en el idioma de origen, excepto para la Vista de tienda a la que está asignado. Procede como sigue:

  1. Ve a Content → Elements → Widgets.
  2. Abre el widget que vincula el bloque original a la página original y cambia la asignación de Store View al idioma de origen, si es necesario, y guarda.
  3. Abre otra pestaña del navegador, ve a Content → Elements → Widgets y crea un nuevo widget.
  4. Aplica las mismas opciones de Type and Layout que en el widget original, escribe el nombre del widget en el campo Title y seleccione la Store View para el idioma de destino.
  5. Guarda el nuevo widget.
  6. Vacía la caché de Magento para aplicar los cambios.

Traducir contenido dinámico de Magento desde el backend

Al igual que ocurre con el contenido estático, los nombres de los productos, las descripciones, etc., también pueden traducirse desde el backend. En primer lugar, sin embargo, es probable que quieras traducir los elementos relacionados con el producto que suelen ser fijos, como los atributos y las categorías.

Traducir atributos y categorías de productos Magento

Los atributos suelen ser propiedades de los productos, que permiten a los clientes elegir entre variantes de un producto como el color, la talla, el peso, el material, etc. Por lo tanto, es necesario traducir el nombre del atributo y de cada variante de la siguiente manera:

  1. Ve a Stores → Atrributes → Product.
  2. En la tabla, haz clic en el atributo que desea traducir.
  3. En el panel izquierdo, haz clic en Propiedades y escribe la traducción de la etiqueta de cada atributo.
  4. Haz clic en Manage Labels e introduce el nombre de atributo traducido para cada Store View.
  5. Guardar.

El conjunto de atributos es una referencia interna, no es visualizado por el usuario final y por lo tanto no tiene que ser traducido.

Las categorías, por su parte, son una forma de agrupar productos por tipo, por ejemplo, Ficción, No ficción, Novela, Poesía, etc. Cada categoría y subcategoría debe traducirse por separado, como se indica a continuación:

  1. Ir a Catalog → Categories
  2. Selecciona la Store View para el idioma de destino.
  3. Haz clic en la categoría que quieres traducir y desmarca la casilla Use Default Value situada debajo del nombre de la categoría.
  4. Escribe el nombre de la categoría traducida en el mismo campo.
  5. Guardar.

Traducir productos y descripciones de Magento

Cada artículo del catálogo puede abrirse y editarse directamente desde el backend, asegurándose de que se selecciona la Store View correcta.

  1. Ve a Catalog → Products y haz clic en el artículo que desea traducir
  2. Selecciona la lengua de destino en el menú desplegable de la parte superior izquierda
  3. Desmarca la casilla Use Default View debajo del nombre del producto y añade la traducción del nombre.
  4. Traducir el resto de textos del producto, descripción, metadatos, etc.
  5. Guardar.

Traducir productos y descripciones de Magento mediante exportación/importación

Para traducir el catálogo completo de productos de una sola vez, es necesario exportarlo en formato CSV y traducirlo fuera de Magento.

Para empezar a exportar productos, procede de la siguiente manera:

  1. Ve a System → Data transfer → Export.
  2. Selecciona Products como Entity Type.
  3. Excluye atributos sin texto traducible.
  4. Seleccionar CSV como formato de archivo de exportación.
  5. Haz clic en Continuar.
  6. Descarga el archivo de exportación del recuadro siguiente.

Muchas columnas pueden excluirse, ya que no contienen texto traducible. Normalmente debería centrarse en las siguientes columnas (puede haber otras):
name
description
short_description
meta_title
meta_keywords
meta_description

Después de traducir el archivo, asegúrate de que cada celda de la columna store_view_code contiene el ID de la Store View que se estableció al principio cuando añadió la nueva vista de tienda, en nuestro caso Italian. Para importarlo a Magento, procede del siguiente modo:

  1. Ve a System → Data transfer → Import.
  2. Selecciona Products como Entity Type.
  3. Selecciona Add/Update como Import Behaviour.
  4. Selecciona el archivo traducido y haz clic en Check Data en la esquina superior derecha.
  5. Haz clic en Importar o edita el archivo para corregir posibles errores y repite la operación.

Además de la función de exportación por defecto de Magento, también existen extensiones que pueden exportar contenidos en otros formatos, como Importación mejorada & Export Magento 2 Extension.

Traducir plantillas de correo electrónico y boletines de Magento

Los textos de correo electrónico por defecto ya están traducidos en el paquete del idioma de destino, pero si las plantillas se han personalizado, será necesario generar un diccionario de traducción para cada idioma de destino y traducirlo.

  1. Extraer el texto traducible en formato CSV: abre el terminal de línea de comandos y ejecuta el comando bin/magento i18n:collect-phrases, seguido de las opciones requeridas (archivo de salida, carpeta a traducir).
  2. El archivo resultante tendrá dos columnas en el idioma de origen, la primera de las cuales debe permanecer sin traducir, mientras que la segunda debe traducirse al idioma de destino.
  3. Cambia el nombre del archivo traducido utilizando el código ISO del idioma de destino, por ejemplo it_IT.csv para el italiano (Italia).
  4. Carga el nuevo archivo CSV en la carpeta correspondiente.
  5. Vacía la caché.

Comprueba que el texto de la plantilla de origen tiene el formato correcto para que el comando funcione. El texto traducible debe ir siempre precedido de la directiva trans, por ejemplo:
Código directiva trans

Plugin de localización para Magento

Existen varios conectores de traducción para Magento que suelen estar vinculados a un proveedor o desarrollador específico. Los más comunes son:

Para más información, consulta la documentación correspondiente.

Resumen

Hemos visto dos enfoques para la localización de un comercio electrónico Magento. El primero es más práctico y requiere más tiempo, pero proporciona un control total de todo el proceso de localización. Aquí hemos examinado cómo extraer manualmente textos de su tienda en línea para traducirlos y cómo publicarlos en otros idiomas.

El enfoque alternativo, en cambio, consiste en utilizar un conector de localización y puede ser más sencillo porque la mayor parte de la extracción de texto se realiza automáticamente. Pero dependerás de un proveedor externo para la gestión de la traducción, la asistencia y las actualizaciones, así que tienes que sopesar cuidadosamente todos los pros y los contras.

Contacta con nosotros si necesitas ayuda para decidir cuál es la mejor estrategia de traducción para tu tienda Magento Commerce. ¡Estaremos encantados de ayudarte!

Traductor técnico, project manager, mentor y admirador del ingenio. Socio fundador de Qabiria.

Leer también

Habla con nosotros

Cuéntanos qué necesitas enviándonos un correo electrónico a hola@qabiria.com o mediante el formulario de contacto. Tendrás una respuesta garantizada en 24 horas, pero habitualmente mucho antes.

Contacta con nosotros