WorkCraft CMS

Translation Manager: the small words make a multilingual site feel complete.

Buttons, form labels and error messages are part of the experience in every language. We built Translation Manager to give teams one place in Craft CMS to collect, translate and review that text. It brings template text, Formie and Freeform forms into a shared workflow, so everyday language updates can happen in the Control Panel.

Role
Design, architecture and engineering
Stack
  • Craft CMS 5.10+
  • PHP 8.2+
  • Formie, Freeform
Status
On the Plugin Store
Since
2025 to present
  1. Language Translate labels and messages in one workspace.
  2. Review See what needs translation or approval.
  3. Continuity Keep shared text consistent across your sites.

The page is translated. The form still needs work.

A multilingual site can have carefully translated articles while its buttons, dropdown options and validation messages remain in the original language. These smaller pieces of text often live in templates, language files or form settings, spread across several tools.

Translation Manager grew out of that work on client sites. It gives the team a shared place to manage interface and form text, with progress and review status visible alongside each translation. Page content continues to use Craft's own content translation workflow.

Bring the text into one place.

Developers can collect translatable text from templates and import existing language files. With the Formie or Freeform integration enabled, the plugin captures supported labels, options, buttons and messages when forms are saved. That includes details such as address subfields and multi-page form controls.

For template text, optional runtime capture adds missing strings as they are used. It is off by default and, when enabled, is restricted to development mode unless configured otherwise. Teams can exclude categories of text or forms that should be managed separately.

The aim is to make the translation work visible without asking translators to edit PHP files or search through individual form settings.

See what is ready and what still needs attention.

Choose a language, search for a label or filter the list to pending translations. Text is edited in place, with right-to-left input for languages such as Arabic and Hebrew. Status labels distinguish pending, draft, translated and unused text.

Teams can enable an approval step when translation and sign-off belong to different people. Translators without approval permission save drafts; an approver publishes them, with the reviewer and time recorded. Approval is optional, so a smaller team can publish directly when it saves.

The coverage view shows how much has been translated and what remains in the queue. It gives the team a practical way to check readiness for each language before launch or after a form changes.

See translation coverage and the work still pending.
See translation coverage and the work still pending.

Translate shared text once per language.

Sites that use the same language share the same translation. A button used on several English sites does not need a separate translation for each one. Regional variants can stay separate or be mapped to a common language where the wording should be shared.

The language switcher carries search and filter choices across, so someone reviewing pending form text can keep that task in view as they move between languages. Access to editing and approval is controlled by translation source.

Keep the template familiar. Choose how translations are served.

Developers use Craft's standard translation filter with a configured category, such as {{ 'Submit'|t('messages') }}. The plugin manages the corresponding text and can generate the PHP language files Craft reads when translations are saved.

PHP files are the default source for the live site. Database and hybrid modes are also available for hosting setups where generated files cannot reliably be shared or retained. In hybrid mode, published database translations take precedence, with PHP files as a fallback.

A read-only GraphQL interface makes the translation catalogue available to separate frontends. This keeps the language workflow in Craft even when another application presents the content.

Make larger updates easier to review.

CSV imports guide the team through column mapping and a preview of new, changed, unchanged and blocked rows. Existing translations can be exported for work outside Craft and brought back through the same reviewable process. Developers can also import PHP translation files in development mode.

Backups can be created manually or on a daily, weekly or monthly schedule, using local storage or a configured Craft asset volume. Restore validates the saved data, and protected maintenance operations require a safety backup before proceeding.

Maintenance tools help teams find unused text and clean up a category, language or form provider. With Logging Library installed in Craft, available logs can be inspected in the Control Panel when an import or generation task needs investigation.

Review new and changed translations before importing.
Review new and changed translations before importing.
Next11Craft CMS 2026SmartLink Manager

The job of a hosted smart-link service, inside Craft: one managed URL per app or campaign that routes each visitor by device, operating system and language to the right store, page or fallback, with QR codes and analytics built in.

All work