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
Quick Links
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
- TMGMT (Translation Management Tool) module
- Symfony Messenger (sm) module
- A valid Lara API account with access credentials
- Network access to Lara's API endpoints
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
TranslationJobMessageto Symfony Messenger - TranslationJobMessage: Carries job item ID for processing
- TranslationJobMessageHandler: Processes messages asynchronously with retry logic
Similar Projects
- AI Translation Management (TMGMT) - AI-powered translation with various providers
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
- Official Lara documentation: laratranslate.com
Ready to get started? Check our Installation Guide.