Skip to content

TMGMT Lara Translate

TMGMT Lara Translate integrates Drupal's Translation Management Tool (TMGMT) with Lara translation service, letting site editors send content for high-quality translations and retrieve them without leaving Drupal.

Features

  • Implements a TMGMT translation provider plugin for Lara
  • Asynchronous processing using Symfony Messenger (sm module)
  • Automatically fetches completed translations and imports them into the site
  • Supports translation status updates (in progress, completed, errors)
  • Leverages Lara's context-aware translation model that processes full documents
  • Offers style options (Faithful, Fluid, Creative) to match content tone
  • Automatic retry of transient failures (quota exceeded, network issues)

Use Cases

  • Multilingual content sites needing professional-quality translation service integration
  • Projects where maintaining tone, consistency, and clarity is critical
  • Teams wanting to automate translation submission, tracking, and ingestion

For Site Administrators: - Getting Started - Installation and setup - Quick Start - 5-minute setup guide - User Guide - How to use the module - Troubleshooting - Common issues and solutions

For Developers: - Architecture Overview - Symfony Messenger implementation - Message Handler - How async processing works - Text Chunking - Handling long content

For Operations: - Monitoring - Translation processing monitoring - Drush Commands - Command-line tools

Installation Requirements

Architecture Overview

The module uses Symfony Messenger for asynchronous translation processing:

flowchart TD
    A[TMGMT job submitted] --> B[LaraTranslator::requestTranslation]
    B --> C[MessageDispatcher::dispatchTranslationJob]
    C --> D[TranslationJobMessage created]
    D --> E[Symfony Messenger bus]
    E --> F[TranslationJobMessageHandler]
    F --> G[LaraTranslator::processJobItem]
    G --> H{Success?}
    H -->|Yes| I[Translated data saved]
    H -->|Transient error| J[Automatic retry]
    H -->|Permanent error| K[Job marked failed]

Key Components

  • MessengerDispatcher: Dispatches TranslationJobMessage to Symfony Messenger
  • TranslationJobMessage: Carries job item ID for processing
  • TranslationJobMessageHandler: Processes messages asynchronously with retry logic

Similar Projects

Similarities: Both provide TMGMT integrations with asynchronous processing.

What differentiates Lara Translate Provider: Built specifically for Lara translation service, which uses context-aware translation that processes entire documents to preserve consistency and meaning, with style control (Faithful/Fluid/Creative) and transparent translation explanations.

Supporting this Module

Development support is welcome! You can: - Contribute via Git / issues / patches / documentation - Share feedback or bug reports - Sponsor development through direct funding or organizational support

Community Documentation


Ready to get started? Check our Installation Guide.