Skip to content

About

Supertext AI translation for Neos 9: pages are translated automatically when an editor creates them in another language.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Supertext Translation for Neos

Translates pages and content with Supertext AI the moment an editor creates them in another language in Neos — via the language menu's Create and copy (or Create empty) dialog, or the supertext:translate command. No new workflow: editors keep using Neos' own content dimensions.

Works with Neos 9.0+ (tested on 9.1), PHP 8.2+.

The Neos backend showing a page translated into Italian by Supertext

How it works

  1. The editor switches the language menu to a language the page doesn't exist in yet and chooses Create and copy. Neos creates the page and its content in that language.
  2. A content repository command hook notices these new language variants and collects them.
  3. After the request, all their text goes to Supertext as one HTML document per target language, so a page with twenty content elements is a single API round trip.
  4. The translations are written back as normal edits in the editor's workspace (history and permissions included), the page's URL segment is rebuilt from the translated title, and the editor reviews and publishes as usual.

If Supertext fails, the pages are still created, as untranslated copies, and the reason is logged.

Which fields are translated is derived from the node types: inline-editable texts (formatting kept) and Inspector text, text area and rich text fields. Override per property with options.supertext.translate.

Export for translation and import (XLIFF and HTML)

Besides translating with Supertext AI, you can export a document node as a file, have it translated elsewhere and import the result.

  • Where: the back-end module Management → Supertext for editors (choose a page, the languages and the format, download; upload the translated file, see the summary), working in the editor's own workspace so imported translations are reviewed and published as usual. For administrators and scripts also the CLI commands ./flow supertext:export <node> <language>… and ./flow supertext:import <file>.
  • Formats: XLIFF 1.2 for translation tools such as Trados, memoQ or Phrase (formatting travels as protected tags; several target languages in one file), or HTML (one language per file) for translators or Supertext's web app, which keeps the file's head and data-st-id attributes, so the translated file imports as it is.
  • Import: the file says what it was exported from and for which language. The translations are written with the same rules as a Supertext AI translation, and a summary shows what was imported and what was skipped: source changed since the export (import those anyway with Also import texts whose source changed since the export), not translated, formatting changed, not in the file.
  • Safe: files over 10 MB, files from another system and translations that add markup the source doesn't have are refused; uploaded files aren't stored.

Details: user guide.

Documentation

Guide For
Installation guide Administrators: requirements, install, API key, languages, settings, troubleshooting
User guide Editors: translating, reviewing, publishing, what gets translated
Developer guide Architecture, API protocol, local setup, tests, screenshots, demo deployment

You need a Supertext account (create one) and an API key (supertext.com → Integrations → API, requires the Admin role).

Quick start (not on Packagist yet — add the GitHub repository first, see the installation guide):

composer require supertext/neos-translation
export SUPERTEXT_API_KEY=...        # or Supertext.NeosTranslation.apiKey
./flow supertext:check

Choose each language's Supertext language under Administration → Supertext (a combo box per language, Supertext's suggestion preselected): needed only where there is no obvious default (e.g. en_UK → en-GB) or to pick another variant (de → de-CH). Supertext.NeosTranslation.languages in Settings.yaml overrides it for automated setups; supertext:check lists the languages.

Translation outside Neos (translation tools, translators, Supertext's web app): editors use Management → Supertext to export an XLIFF 1.2 or HTML file and import the translated file; on the command line ./flow supertext:export <node> <language> and ./flow supertext:import <file> do the same. The package sends version information (no content, no key) to Supertext unless you turn it off; see the installation guide.

Demo

demo/ builds a container with Neos 9.1, the Neos demo site (English, German) plus empty French and Italian, and this package. It's deployed to Railway on every push to main — details in the developer guide.

Roadmap

See the developer guide and CHANGELOG.

Supertext plugins for other systems

Supertext offers AI and professional translation plugins for these systems:

Content management systems (CMS)

System Plugin Type of integration What it does
Adobe Experience Manager supertext-aem-connector Translation connector: two AEM content packages for AEM's Translation Integration Framework. Sends AEM translation projects to Supertext and imports the results
ApostropheCMS Apostrophe-Supertext-Translation Apostrophe module (npm): a translation provider for Apostrophe's own Localize… step. Translates pages and pieces as editors localize them, widgets and rich text included
Contao Contao-Supertext-Translation Contao bundle (Composer) that adds a back-end action. Translate with Supertext in the site structure: pages or whole websites into other languages
Craft CMS CraftCms-Supertext-Translation Craft plugin (Composer) with a panel on the entry page. Translates entries into your other sites, Matrix and rich text included
Directus Directus-Supertext-Translation Directus extension bundle (npm): interface, endpoint, Flow operation and module. Translate with Supertext box on the item form, fills the Translations field
django CMS djangoCMS-Supertext-Translation Django app (Python package) that adds a toolbar entry. Translates pages and their plugins from the toolbar
Drupal tmgmt_supertext_ai Drupal module: a translator provider for the Translation Management Tool (TMGMT), by MD Systems. Translates TMGMT jobs with Supertext AI
Ghost Ghost-Supertext-Translation Separate connector service (Ghost has no admin plugins): works through internal tags, webhooks and the Admin API. Tag a post #translate-… and a translated draft appears
Grav Grav-Supertext-Translation Grav 2 plugin with an Admin2 panel. Supertext panel in the page editor, Markdown kept intact
HubSpot HubSpot-Supertext-Translation Hosted app connected to HubSpot with OAuth, working through HubSpot's multi-language content. Translates website and landing pages, blog posts, marketing emails and knowledge base articles into draft language versions
Joomla Joomla-Supertext-Translation Joomla system plugin (installable package). Translates articles into linked, unpublished language versions
Magnolia Magnolia-Supertext-Translation Magnolia module with a Translate with Supertext action in the Pages app. Translates pages, areas and components into the site's other languages
Neos Neos-Supertext-Translation Neos package (Composer) that hooks into the content repository, with a Supertext backend module for translation files. Translates automatically when an editor creates a page in another language
Orchard Core OrchardCore-Supertext-Translation Orchard Core module (.NET) with an admin page and a localization hook. Translates content items into other cultures, on demand or on localization
Payload CMS Payload-Supertext-Translation Payload plugin (npm) added to payload.config. Translate button for localized collections and globals
Silverstripe Silverstripe-Supertext-Translation Silverstripe module (Composer) on top of Fluent. Supertext tab translates pages and Elemental blocks into Fluent locales
Strapi Strapi-Supertext-Translation Strapi 5 plugin (npm) with a Content Manager panel. Translates entries into other locales from the Content Manager
TYPO3 Typo3-Supertext-Translation TYPO3 extension (Composer) that hooks into TYPO3's own localization, with a Supertext backend module for translation files. Translates pages and content elements as editors localize them
Umbraco Umbraco-Supertext-Translation Umbraco package (NuGet) with a backoffice extension. Translate with Supertext for pages, block lists and grids included
Wagtail Wagtail-Supertext-Translation Python package: a machine translator for wagtail-localize. Translates pages and snippets inside wagtail-localize's editor
WordPress (Polylang) supertext-wordpress-polylang WordPress plugin: a machine-translation service for Polylang Pro, plus professional translation orders. AI translation next to DeepL in Polylang, and human translation orders

Product information management (PIM)

System Plugin Type of integration What it does
Akeneo PIM Akeneo-Supertext-Translation Akeneo PIM bundle with a Translate with Supertext action on the product page. Translates products and product models into your other locales
AtroPIM AtroPIM-Supertext-Translation AtroCore module with a button on the product and a mass action in the list. Translates products and other AtroCore records into your other languages
Pimcore Pimcore-Supertext-Translation Pimcore bundle (Composer) with a Translate with Supertext button in Pimcore Studio. Translates documents into linked language versions and data objects' localized fields

E-commerce

System Plugin Type of integration What it does
Magento Magento-Supertext-Translation Magento 2 module (also Mage-OS) with a mass action in the admin lists and a button on the edit pages. Translates products, categories, CMS pages and blocks into your store views' languages
PrestaShop PrestaShop-Supertext-Translation PrestaShop module with a bulk action in the back-office lists. Translates products, categories and CMS pages into your shop's other languages
Shopify Shopify-Supertext-Translation Shopify app in the Shopify admin. Translates products, collections, pages and blog posts into all your shop's languages
Wix Wix-Supertext-Translation Wix app with a dashboard page (hosted service), working through Wix Multilingual. In development: translates Wix Stores products and other Wix Multilingual content into your site's languages

Email marketing

System Plugin Type of integration What it does
Mailchimp Mailchimp-Supertext-Translation Hosted app connected to Mailchimp with OAuth: Supertext folders in Mailchimp and a translate page. In development: turns a campaign into one draft per language, each sent to the subscribers with that language

Design files (XLIFF round trip)

Application Plugin Type of integration What it does
Adobe InDesign Adobe-InDesign-Translation InDesign scripts (ExtendScript). Exports all text to XLIFF 1.2 for any CAT tool and imports the translations with formatting intact
Adobe Illustrator Adobe-Illustrator-Translation Illustrator scripts (ExtendScript). Exports all text to XLIFF 1.2 for any CAT tool and imports the translations with formatting intact
CorelDRAW CorelDRAW-Supertext-Translation CorelDRAW VBA macro. Exports all text to XLIFF 1.2 for any CAT tool and imports the translations with formatting intact

License

GPL-3.0-or-later

About

Supertext AI translation for Neos 9: pages are translated automatically when an editor creates them in another language.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages