Ray Enterprise Translation
Módulo de gestión de traducciones de nivel empresarial que integra Drupal con Ray Enterprise (anteriormente Lingotek), un sistema de gestión de traducciones (TMS) basado en la nube.
lingotek
Install
composer require 'drupal/lingotek:^11.0'
composer require 'drupal/lingotek:^4.1'
Overview
Ray Enterprise Translation proporciona capacidades completas de gestión de traducciones para sitios Drupal, permitiendo una integración fluida con el sistema de gestión de traducciones basado en la nube de Lingotek. El módulo soporta la traducción de entidades de contenido (nodes, términos de taxonomía, media, etc.), entidades de configuración (views, blocks, menús) y cadenas de interfaz de usuario.
El módulo ofrece flujos de trabajo de traducción flexibles a través de perfiles personalizables que pueden configurarse en modos automático (traducción sin intervención), manual (controlado por el usuario) o deshabilitado. Cada perfil puede tener anulaciones específicas por idioma y enriquecimiento de Intelligence Metadata para el seguimiento del ciclo de vida del contenido y el contexto empresarial.
Las capacidades principales incluyen operaciones de traducción masiva, monitoreo de estado en tiempo real mediante webhooks, agrupación de traducciones basada en trabajos e integración profunda con los sistemas de moderación de contenido de Drupal. El módulo proporciona un panel visual para gestionar todas las actividades de traducción y soporta funciones avanzadas como detección de entidades relacionadas, traducción de paragraphs/media e integración con Layout Builder.
Features
- Subir entidades de contenido a Lingotek TMS para traducción profesional con flujos de trabajo automáticos o manuales
- Descargar traducciones completadas y crear automáticamente versiones traducidas del contenido
- Configurar perfiles de traducción con ajustes de automatización personalizables (carga automática, solicitud automática, descarga automática)
- Traducir entidades de configuración incluyendo views, blocks, menús y tipos de configuración personalizados
- Traducir cadenas de interfaz de Drupal (texto de UI) de themes, modules y perfiles de instalación
- Interfaz de gestión masiva para operaciones de traducción en múltiples entidades
- Seguimiento del estado de traducción en tiempo real mediante notificaciones webhook desde el TMS
- Agrupación de traducciones basada en trabajos para organizar y rastrear traducciones relacionadas
- Enriquecimiento de Intelligence Metadata para añadir contexto empresarial a las traducciones (autor, campaña, unidad de negocio, etc.)
- Panel visual de traducción que muestra la cobertura de idiomas y el estado de un vistazo
- Anulaciones de perfil específicas por idioma para control granular por idioma de destino
- Bloqueo de destino para prevenir sobrescrituras accidentales de traducciones finalizadas
- Integración con flujos de trabajo de Content Moderation y Workbench Moderation
- Comandos Drush para operaciones de traducción basadas en CLI
- Detección de entidades relacionadas para traducir contenido incrustado (paragraphs, media, referencias a blocks)
- Soporte para tipos de campo avanzados incluyendo Layout Builder, Metatag, Paragraphs y Cohesion
Use Cases
Flujo de trabajo de traducción de contenido automatizado
Para sitios con alto volumen de contenido, configure el perfil Automatic para gestionar la traducción sin intervención manual. Cuando se crea o actualiza contenido, se sube automáticamente a Lingotek, solicita traducciones para todos los idiomas habilitados y descarga las traducciones completadas. Esto es ideal para sitios de noticias, catálogos de comercio electrónico o cualquier sitio donde el contenido necesite traducirse rápidamente a múltiples idiomas con mínima supervisión editorial.
Flujo de trabajo de traducción con revisión editorial
Para sitios que requieren control editorial, use el perfil Manual. Los editores de contenido activan manualmente las subidas cuando el contenido está listo para traducción, revisan las solicitudes de traducción antes de enviarlas y descargan las traducciones solo después de la verificación. Esto es adecuado para contenido legal, médico o regulado donde la precisión debe verificarse antes de la publicación.
Traducción selectiva por tipo de contenido
Configure diferentes perfiles para diferentes tipos de contenido. Las páginas de productos podrían usar el perfil Automatic para respuesta rápida, mientras que las páginas legales usan el perfil Manual para revisión cuidadosa. Las publicaciones de blog podrían usar un perfil personalizado con subida automática pero descarga manual para revisión editorial de las traducciones.
Gestión de traducciones basada en trabajos
Agrupe traducciones relacionadas usando Job IDs para gestión de proyectos. Cree un trabajo para el lanzamiento de un producto con todo el contenido relacionado (páginas de destino, descripciones de productos, materiales de marketing), rastree el progreso de todo el trabajo y asegure que todas las piezas estén completadas antes del lanzamiento.
Intelligence Metadata para análisis de traducción
Habilite Intelligence Metadata para rastrear costos y rendimiento de traducción por unidad de negocio, campaña o región. Configure metadatos por perfil para asignar correctamente los costos de traducción y analizar qué tipos de contenido o campañas requieren mayor inversión en traducción.
Estrategia de contenido multi-región
Use anulaciones de perfil específicas por idioma para dirigir traducciones a diferentes flujos de trabajo según el mercado objetivo. Los idiomas europeos podrían usar un proveedor/flujo de trabajo de traducción, mientras que los idiomas asiáticos usan otro proveedor especializado. Diferentes vaults pueden almacenar Translation Memory específica por región.
Traducción de configuración para sitios multilingües
Traduzca no solo contenido sino también configuración del sitio: nombres de menús, títulos de Block, visualizaciones de View y etiquetas de Field. Habilite la traducción de configuración en los ajustes y gestione a través de la página de gestión de traducción de Config para asegurar que toda la experiencia del usuario esté localizada.
Traducción de interfaz para módulos personalizados
Use la función Interface Translation con el módulo potx para extraer y traducir cadenas de UI de módulos personalizados y Theme. Esto asegura que el desarrollo personalizado esté completamente localizado junto con las traducciones contribuidas y del núcleo.
Sitios con contenido intensivo en Paragraphs
Para sitios que usan el módulo Paragraphs extensivamente, habilite la gestión masiva de paragraphs en los ajustes de Integrations. La detección de entidades relacionadas identifica automáticamente los paragraphs que necesitan traducción y puede gestionarlos como parte del contenido padre o por separado.
Bloqueo de destino para traducciones finalizadas
Use la nueva función Target Lock para bloquear traducciones después de la revisión final. Esto previene sobrescrituras accidentales cuando el contenido fuente se actualiza, protegiendo las traducciones finalizadas de ser reemplazadas con nuevas traducciones automáticas hasta que se desbloqueen explícitamente.
Tips
- Use el Dashboard regularmente para monitorear la cobertura de traducción entre idiomas - proporciona retroalimentación visual rápida sobre el estado general de traducción
- Cree perfiles personalizados para diferentes flujos de trabajo de contenido en lugar de cambiar constantemente las asignaciones de perfil en contenido individual
- Habilite Interaction Logging temporalmente al solucionar problemas de API - proporciona logs detallados de solicitud/respuesta pero genera un volumen significativo de logs
- Use Job IDs para agrupar contenido relacionado para campañas o proyectos - esto facilita mucho el seguimiento y los informes
- Configure anulaciones de flujo de trabajo específicas por idioma cuando diferentes idiomas objetivo tienen diferentes requisitos de calidad o preferencias de proveedor
- La preferencia 'Split Download All' puede mejorar la confiabilidad para lotes grandes de traducción al procesar un idioma a la vez
- Habilite el queue worker para descargas automáticas en sitios de alto tráfico para evitar que las descargas de traducción impacten los tiempos de respuesta de página
- Use la función de bloqueo de destino para contenido regulatorio o legal donde las traducciones deben revisarse y finalizarse antes de cualquier actualización
- Pruebe la conectividad de webhook subiendo un solo documento de prueba y verificando que el estado se actualice automáticamente
- Considere usar Intelligence Metadata aunque no sea requerido - los datos ayudan con el análisis de costos de traducción y gestión de proveedores a lo largo del tiempo
Technical Details
Admin Pages 11
/admin/lingotek
Panel principal que proporciona una visión general del estado de traducción en todos los idiomas. Muestra una representación visual de la cobertura de traducción de contenido para cada idioma habilitado con indicadores de estado codificados por colores. Admite agregar/eliminar idiomas de destino y ver el progreso de traducción de un vistazo.
/admin/lingotek/settings
Página de configuración completa con múltiples pestañas para configurar todos los aspectos de la integración de Lingotek, incluyendo configuración de cuenta, tipos de contenido, configuración, perfiles, metadatos de Intelligence, preferencias, integraciones y utilidades.
/admin/lingotek/manage
Interfaz de gestión masiva para traducciones de Content Entity. Proporciona filtrado, selección y operaciones por lotes para gestionar traducciones en múltiples Entities simultáneamente.
/admin/lingotek/config/manage
Interfaz de gestión masiva para traducciones de Config Entity y objetos de configuración. Similar a la gestión de contenido pero para elementos de configuración como Views, Blocks, configuraciones de Field, etc.
/admin/lingotek/manage/interface-translation
Interfaz para gestionar la traducción de cadenas de UI de Drupal desde Modules, Themes y perfiles de instalación. Requiere el Module potx para extraer cadenas traducibles.
/admin/lingotek/jobs
Ver y gestionar trabajos de traducción. Los trabajos agrupan traducciones relacionadas para propósitos de seguimiento y organización.
/admin/lingotek/job/{job_id}/content
Ver y gestionar Content Entities dentro de un trabajo de traducción específico. Muestra vista filtrada de gestión de contenido con el trabajo preseleccionado.
/admin/lingotek/job/{job_id}/config
Ver y gestionar elementos de configuración dentro de un trabajo de traducción específico.
/admin/lingotek/settings/profile/add
Crear un nuevo perfil de traducción personalizado con configuraciones de automatización específicas, valores predeterminados de TMS, anulaciones de metadatos de Intelligence y personalizaciones por idioma.
/admin/lingotek/setup/account
Página de configuración inicial para conectarse a una cuenta Lingotek. Proporciona opciones para cuentas existentes (ingresar token de acceso) o crear nuevas cuentas (registro gratuito o empresarial).
/admin/lingotek/supported-locales
Página de referencia que lista todos los códigos de configuración regional admitidos por Lingotek con sus asignaciones a códigos de idioma de Drupal.
Permissions 3
Hooks 8
hook_lingotek_content_entity_translation_presave
Permite a los módulos modificar los datos de traducción de entidades de contenido antes de guardarlos después de la descarga desde Lingotek
hook_lingotek_content_entity_document_upload
Permite a los módulos modificar los datos del documento antes de subirlos al TMS de Lingotek
hook_lingotek_content_entity_get_profile
Permite a los módulos sobrescribir el perfil de traducción para una entidad de contenido
hook_lingotek_config_entity_translation_presave
Permite a los módulos modificar los datos de traducción de entidades de configuración antes de guardar
hook_lingotek_config_entity_document_upload
Permite a los módulos modificar el documento de entidad de configuración antes de subirlo
hook_lingotek_config_object_translation_presave
Permite a los módulos modificar los datos de traducción de objetos de configuración simple antes de guardar
hook_lingotek_config_object_document_upload
Permite a los módulos modificar los datos de objetos de configuración simple antes de subirlos
hook_form_lingotek_management_form_alter
Hook estándar de Drupal para modificar formularios y personalizar el formulario de gestión de Lingotek
Drush Commands 5
drush lingotek:upload
Subir una entidad de contenido a Lingotek TMS para traducción
drush lingotek:check-upload
Verificar el estado de subida de una entidad de contenido en Lingotek
drush lingotek:request-translations
Solicitar traducciones para una entidad de contenido desde Lingotek
drush lingotek:check-translations-statuses
Verificar estados de traducción para una entidad de contenido
drush lingotek:download-translations
Descargar traducciones completadas para una entidad de contenido
Troubleshooting 10
Verifique que el perfil de traducción tenga auto_download habilitado. Compruebe que la URL de callback de notificación de Lingotek esté correctamente configurada (visible en Settings > Utilities). Asegure que cron se ejecute regularmente si usa queue worker para descargas. Revise los logs de Drupal para cualquier error de API.
Confirme que el tipo de contenido tenga la traducción de Lingotek habilitada en Settings > Content. Verifique que el perfil asignado no sea 'Disabled'. Compruebe que la Entity tenga un idioma fuente establecido y que la traducción de contenido esté habilitada para el bundle. Revise los logs de API (habilite Interaction Logging en Settings > Logging).
Navegue a Settings > Account y use 'Edit Defaults' o 'Update Access Token' para ingresar un nuevo token de acceso válido desde su cuenta de Lingotek.
Verifique que los campos específicos estén habilitados para traducción de Lingotek en Settings > Content > [Content Type] > Edit. Algunos tipos de campo requieren procesadores de campo específicos - verifique que el tipo de campo sea compatible.
Verifique que la URL de callback sea accesible desde internet (compruebe la configuración del firewall). La URL mostrada en Settings > Utilities debe ser alcanzable por los servidores de Lingotek. Use 'Update Notification Callback URL' para actualizar el registro.
El perfil está en uso. Busque contenido que use este perfil en la interfaz de gestión (filtre por perfil). También verifique la configuración de tipos de contenido donde el perfil puede estar establecido como predeterminado. Cambie todos los usos antes de eliminar.
Habilite la traducción de configuración para tipos de config específicos en Settings > Configuration. Solo los mapeadores de configuración habilitados aparecen en la interfaz de gestión.
Instale y habilite el módulo potx: composer require drupal/potx && drush en potx. La función Interface Translation depende de potx para extraer cadenas traducibles.
Habilite 'Enable bulk management of paragraphs' en Settings > Integrations. Asegure que los paragraphs tengan la traducción de contenido habilitada a nivel de tipo de paragraph. Verifique que el campo de referencia de paragraph esté marcado para traducción de Lingotek.
Antes de cambiar de entorno (dev a staging a producción), use la utilidad 'Disassociate All' en Settings > Utilities para eliminar todas las asociaciones locales de Lingotek. Esto previene que el nuevo entorno cree documentos duplicados en el TMS.
Security Notes 6
- El permiso 'administer lingotek' proporciona acceso completo a todas las funciones de Lingotek incluyendo desconexión de cuenta y eliminación de metadatos - otorgue solo a administradores de confianza
- Los tokens de acceso de API deben tratarse como credenciales sensibles - proporcionan acceso completo a su cuenta TMS de Lingotek
- El endpoint de webhook (/lingotek/notify) es públicamente accesible pero valida que las solicitudes provengan de Lingotek - asegure que el firewall de su servidor permita solicitudes entrantes desde los rangos de IP de Lingotek
- Los perfiles de traducción pueden configurarse para publicar automáticamente las traducciones - considere las implicaciones para los flujos de trabajo de contenido y si las traducciones deberían requerir revisión editorial antes de la publicación
- Al usar Intelligence Metadata con información de contacto, tenga en cuenta que estos datos se envían y almacenan en el TMS de Lingotek
- Desasociar todas las traducciones es una operación significativa que no se puede deshacer - use con precaución y preferiblemente con una copia de seguridad de la base de datos