Conversión a Multidioma

Modificado el Mar, 12 May a 11:43 A. M.


Antes de empezar


Utiliza este artículo cuando necesites convertir una configuración de Sales Layer WooCommerce para que pueda sincronizar un catálogo multidioma con WooCommerce. La configuración recomendada utiliza Polylang para gestionar los idiomas en WordPress, mientras que el plugin de Sales Layer WooCommerce asigna el idioma correcto a los productos, categorías, etiquetas, marcas y otros contenidos compatibles de WooCommerce sincronizados.

Esta configuración puede utilizarse en una única instalación de WordPress o junto con WordPress Multisite. En una configuración Multisite, Polylang debe configurarse en cada subsitio que necesite contenido multidioma.


Requisitos


Antes de empezar, comprueba que el entorno cumple estos requisitos:

  • WordPress: 6.0 o posterior.
  • WooCommerce: 7.0 o posterior.
  • PHP: 8.0 o posterior.
  • Plugin de Sales Layer WooCommerce: 2.6.1 o posterior. La compatibilidad nativa con multidioma está incluida desde esta versión.
  • Polylang: 3.7.8 o posterior.
  • Acceso al panel de administración de WordPress con permisos para instalar y configurar plugins.
  • Acceso al servidor o a WP-CLI si la configuración se completará desde la línea de comandos.


Cómo funciona la sincronización multidioma


Cuando Sales Layer WooCommerce sincroniza datos multidioma, cada producto o categoría llega con información de idioma. El plugin crea o actualiza el ítem de WooCommerce, guarda la asignación de idioma y Polylang utiliza esa información para mostrar el ítem en el idioma correcto en el panel de administración de WordPress y en la tienda.

Desde la versión 2.6.1, los ítems se procesan por idioma. Esto significa que cada versión de idioma puede tener su propio título, descripción, atributos, categorías y etiquetas, según los datos enviados desde Sales Layer.


Instalar Polylang


Puedes instalar Polylang desde el panel de administración de WordPress o utilizando WP-CLI.

Para instalarlo desde WordPress:

  1. Ve a Plugins → Añadir nuevo.
  2. Busca Polylang.
  3. Haz clic en Instalar ahora.
  4. Haz clic en Activar.
  5. Sigue el asistente de configuración que aparece después de la activación.

Para instalarlo con WP-CLI, utiliza:

wp plugin install polylang --activate



Completar el asistente de configuración de Polylang


Después de activar Polylang, completa el asistente de configuración con estos ajustes:

Paso del asistenteAjuste recomendado
LicenciasOmite este paso. La versión gratuita es suficiente para la sincronización del catálogo de Sales Layer.
IdiomasAñade todos los idiomas utilizados en tu catálogo, como español, inglés o italiano.
MediosDesactiva la traducción de medios. Sales Layer gestiona los medios de forma centralizada.
Contenido sin idiomaConfigúralo con el idioma principal de la tienda.
ListoHaz clic en Ir al escritorio.



Configurar el contenido de WooCommerce para traducción


Después del asistente, ve a Idiomas → Ajustes → Tipos de contenido personalizados y taxonomías. Activa la traducción para el contenido de WooCommerce utilizado por la sincronización de Sales Layer:

  • Productos: product
  • Marcas de producto: product_brand, si esta taxonomía está activa en la tienda.
  • Categorías de producto: product_cat
  • Etiquetas de producto: product_tag
  • Clases de envío: product_shipping_class

Guarda los ajustes después de activar los elementos necesarios.



Mantener desactivada la traducción de medios


La traducción de medios debe permanecer desactivada en Polylang. Sales Layer sincroniza las imágenes y los archivos adjuntos de producto de forma centralizada, no por idioma.

Si la traducción de medios está activada en Polylang, la tienda puede crear entradas de adjuntos duplicadas para cada idioma. Esto puede aumentar el tamaño de la base de datos y provocar conflictos cuando los medios se vuelvan a sincronizar.


Migrar ítems sincronizados existentes


Si la tienda ya tenía productos o categorías sincronizados por Sales Layer antes de actualizar a Sales Layer WooCommerce 2.6.1, esos ítems existentes pueden no tener un idioma asignado. Polylang puede mostrarlos como contenido sin idioma, lo que puede impedir que aparezcan correctamente en la tienda.

Utiliza la herramienta de migración para asignar un idioma predeterminado a los ítems existentes de Sales Layer que todavía no tengan uno:

  1. Ve a Sales Layer → Herramientas en el panel de administración de WordPress.
  2. Utiliza la opción Migrate Legacy Items.
  3. Espera hasta que la operación finalice.
  4. Después de la migración, inicia una nueva sincronización de Sales Layer.

La migración comprueba los productos y categorías que se sincronizaron previamente mediante Sales Layer, asigna el idioma predeterminado seleccionado solo cuando falta el idioma y procesa los ítems por lotes para ayudar a evitar problemas de rendimiento en catálogos grandes.


Sincronizar el catálogo


Después de configurar Polylang y migrar los ítems heredados, sincroniza de nuevo el conector de Sales Layer. El plugin creará o actualizará cada producto, categoría, etiqueta, marca o clase de envío, y asignará el idioma recibido desde Sales Layer.

Si utilizas WordPress Multisite, configura Polylang en cada subsitio que recibirá contenido multidioma. Cada subsitio tiene su propia configuración de idiomas de Polylang.


Configuración para desarrolladores con Docker


En entornos de desarrollo basados en Docker, la configuración multidioma puede automatizarse con variables de entorno.

Añade las siguientes variables al archivo .env:

WORDPRESS_MULTILANGUAGE=true
POLYLANG_VERSION=3.7.8

Cuando estos valores están configurados, la configuración del entorno instala y activa Polylang, crea el conjunto de idiomas, establece el español como idioma predeterminado, activa los tipos de contenido y taxonomías de WooCommerce necesarios para la traducción, desactiva la traducción de medios y descarta el aviso del asistente de configuración de Polylang.

Para ejecutar esta configuración cuando el entorno ya está funcionando, utiliza:

make setup-multilanguage

Para un entorno de desarrollo Multisite, incluye también:

WORDPRESS_MULTISITE=true

Cuando Multisite y multidioma están activados, la configuración se ejecuta por sitio, de modo que cada subsitio obtiene su propia configuración de Polylang.


Comprobaciones útiles con WP-CLI


Utiliza estos comandos cuando necesites verificar la configuración desde la línea de comandos.

Comprueba que Polylang esté activo:

wp plugin is-active polylang

Comprueba la configuración de Polylang:

wp option get polylang --format=json

Comprueba que la traducción de medios esté desactivada. El resultado esperado es 0:

wp eval "echo get_option('polylang')['media_support'];"

Comprueba el idioma asignado a un producto:

wp post meta get 123 _slyr_wc_lang

Comprueba el idioma asignado a un término, como una categoría o una etiqueta:

wp term meta get 456 slyr_wc_lang


Errores comunes y soluciones


  • El aviso del asistente de Polylang sigue apareciendo: En una configuración con Docker, ejecuta de nuevo make setup-multilanguage. Si es necesario, descarta el aviso del asistente con wp eval 'PLL_Admin_Notices::dismiss("wizard");'.
  • Falta el idioma en los productos después de la sincronización: Los ítems sincronizados antes de Sales Layer WooCommerce 2.6.1 pueden no tener metadatos de idioma. Ejecuta Sales Layer → Herramientas → Migrar ítems heredados.
  • Las categorías no están marcadas como traducibles: Puede que los tipos de contenido o taxonomías necesarios no estén activados en Polylang. Ve a Idiomas → Ajustes → Tipos de contenido personalizados y taxonomías y actívalos, o vuelve a ejecutar la configuración automatizada en un entorno de desarrollo.
  • El cron de sincronización falla con Call to undefined function PLL(): Es posible que Polylang se haya activado como plugin must-use. Desactívalo desde mu-plugins/ y actívalo desde la pantalla estándar de plugins de WordPress o con WP-CLI.
  • En Multisite, la configuración solo configura el sitio principal: En una configuración con Docker, comprueba que WORDPRESS_MULTILANGUAGE=true y WORDPRESS_MULTISITE=true estén definidos antes de reconstruir.


Buenas prácticas


  • Crea y verifica una copia de seguridad completa antes de convertir una tienda WooCommerce existente a multidioma.
  • Instala y activa Polylang desde la pantalla estándar de plugins de WordPress o con WP-CLI. No lo actives como plugin must-use.
  • Configura todos los idiomas del catálogo en Polylang antes de ejecutar la primera sincronización multidioma.
  • Mantén la traducción de medios desactivada porque Sales Layer gestiona las imágenes y los archivos adjuntos de producto de forma centralizada.
  • En catálogos existentes sincronizados antes de Sales Layer WooCommerce 2.6.1, ejecuta la herramienta de migración heredada justo después de activar Polylang y antes de iniciar una nueva sincronización.
  • Utiliza Polylang Free salvo que el proyecto necesite funciones adicionales, como integración SEO avanzada, reconocimiento de idioma en la REST API o herramientas de traducción manual de atributos. La sincronización de Sales Layer no requiere esas extensiones de pago.
  • En proyectos Multisite, configura y prueba la configuración de idiomas en cada subsitio de destino antes de sincronizar el catálogo completo.
  • Gestiona el contenido multidioma de producto en Sales Layer para que WooCommerce reciba cada versión de idioma desde la misma fuente de información.

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo