Last Updated: August, 2026
Maintained By: wxrks Engineering & Product
Compatibility: Drupal 10.3+ or Drupal 11
Dependency: TMGMT (Translation Management Tool) module 1.18+, including its bundled tmgmt_file submodule
💡 Who is this for? This guide is for the Drupal site administrator or developer installing and configuring the wxrks provider module for TMGMT. You'll also need a wxrks Account Admin to supply the API credentials, Org Unit, and workflow names the provider form asks for.
Overview
The wxrks module is a translator provider plugin for TMGMT (Drupal's Translation Management Tool). Once configured, it lets Drupal users submit content — nodes, taxonomy terms, or any other TMGMT source — to wxrks for translation, track job status from inside Drupal, and pull finished translations back automatically.
Beyond the basic send/fetch loop covered in this guide, the module also supports:
Continuous jobs — once a job is marked continuous in TMGMT, content changes are detected and automatically queued for re-translation, with no manual re-submission.
Automatic fetching on cron, or on demand via a
drush wxrks:fetchcommand, with optional auto-save and auto-accept per workflow stage.Optional preview URLs, so translators working in wxrks can see the content in its live Drupal context.
Local or Amazon S3 storage for downloaded translation files.
Enterprise note: some subscribers require explicit maintenance, compatibility, and DevOps-aligned installation assurances. Those are addressed in the Enterprise Appendix linked at the bottom, alongside a companion article on known limitations.
Requirements
Drupal 10.3 or later, or Drupal 11.
The PHP zip extension, used to unpack delivered translation archives.
TMGMT module, version 1.18 or later, including its bundled
tmgmt_filesubmodule.(Optional) Drush 12.4 or later (13 recommended) — only needed for the
drush wxrks:fetchcommand below. The module is fully usable through the UI without it.(Optional) S3 File System (s3fs) — only needed if you want delivered translation files stored in Amazon S3 instead of Drupal's local file system.
Installation
Step 1 — Install TMGMT
Download and install the Translation Management Tool module:
Enable it via:
Extend → Translation options → Install
Step 2 — Install the wxrks Plugin
Install the wxrks provider module the same way you installed TMGMT — by URL/Composer, or by uploading the module package.
Enable it via:
Extend → search "wxrks" → check "wxrks" → Install
This installs and enables the provider module.
Step 3 — Configure wxrks as a Provider
Navigate to:
Translation → Providers
Click Add provider to create a new one
orClick Edit next to an existing wxrks provider.
Set:
Provider label/description
Provider Plugin: wxrks
wxrks Provider Settings
Field | What to enter |
API Endpoint | The base URL of your wxrks instance (e.g. |
Access Key | Generate from My Account → Security → API Token in wxrks. Once saved, leave blank on future edits to keep the current value. |
Secret Key | The secret shown alongside that Access Key — copy it immediately, since wxrks only displays it once. |
Org Unit UUID | The Organizational Unit new projects should be created under (inherits its workflow, TM, glossaries, users, and automation rules). Find it by checking the org unit's URL in wxrks. |
Contact UUID | The wxrks Project Contact UUID new projects should use. Also found by checking the contact's URL in wxrks. |
Workflows | A comma-separated list of your wxrks workflow stages, e.g. |
Auto Save Translations for Workflows | Optional. Comma-separated workflow stages — when content is delivered at one of these stages, it's saved into Drupal automatically without a manual fetch. |
Auto Acceptable Workflows | Optional. Comma-separated workflow stages — delivered content at one of these stages is automatically saved and marked accepted in the TMGMT job. |
Send preview URLs | Checkbox. When on, a Preview Base URL field appears — set your site's public base URL so wxrks can build a content preview link for translators (auto-detected from the current request if left blank). |
File Storage Backend | Local files (default — Drupal's private file system when configured, otherwise a temporary directory) or Amazon S3 (requires the s3fs module). If your site's own default download method is already Amazon S3, this is locked to S3 automatically. |
Requesting Translation
Go to: Translation → Sources
Sources are Drupal nodes, taxonomy terms, or any other TMGMT-supported content type.
Select:
the items you want translated
target languages
Click Request Translation
Choose the target language(s) and the wxrks provider. Optionally set a Name for the wxrks project (auto-generated from the content title when left empty) and a Comment, which is sent to wxrks as the project instructions for translators.
Click Submit to provider and continue
A project is created automatically in wxrks — one wxrks project per TMGMT job, with one resource per submitted item.
Continuous jobs: translating content automatically as it changes
If you mark a TMGMT job as continuous instead of a one-time job, the module watches the source content for changes and automatically queues updated items for re-translation — you don't need to manually re-run Request Translation every time a node is edited. This is set up the same way as any other continuous TMGMT job; see TMGMT's own documentation for the general continuous-job workflow.
Translating in wxrks
Requested projects appear in the wxrks dashboard just like any other project, with their current status.
Work Units created from Drupal are visible inside the project.
Translators work in the wxrks Editor as usual.
See the full wxrks project-management documentation for how to manage a project once it's created.
Fetching Completed Translations
There are three ways to bring delivered translations back into Drupal — pick whichever fits your workflow:
Automatically on cron. The module checks for newly delivered content on every cron run and imports it according to your Auto Save / Auto Acceptable Workflows settings.
Manually from a job. Go to Translation → Jobs, open the job, and click Fetch Translations.
In bulk from the command line, with
drush wxrks:fetch(optionally--limit=Nto cap how many downloads a single run triggers) — useful for large volumes where waiting on cron isn't practical.
Go to: Translation → Jobs
Click Manage on the job
Click Fetch Translations
Click View to preview in the Drupal Editor
Need more?
Enterprise Appendix: Maintenance & Compatibility (Drupal Connector) — DevOps-aligned installation, maintenance windows, and compatibility assurances for enterprise subscribers.
Known Limitations & Operational Notes (Drupal Connector) — edge cases and operational behavior worth knowing before you rely on this in production.


