Skip to content

About

Round-trip translation for Adobe InDesign: export all text to XLIFF 1.2 and import the translations with formatting intact.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

Adobe InDesign Translation

Round-trip translation for Adobe InDesign documents, by Supertext.

Export all text from an .indd document to XLIFF 1.2, translate it in any CAT tool or TMS (memoQ, Trados, Phrase, …), and import the translations back into the same stories, table cells and footnotes with their formatting intact: one translated copy of the document per language.

Brochure.indd ──► Translation Export ──► Brochure_fr-CH.xlf ──► CAT tool / TMS
                                         Brochure_it-CH.xlf          │
                                                                     ▼
Brochure_fr-CH.indd ◄── Translation Import ◄── translated .xlf files
Brochure_it-CH.indd

The XLIFF format matches Adobe Illustrator Translation and CorelDRAW Supertext Translation, so one translation workflow covers all three applications.

Status: 1.0.0, untested in InDesign. The scripts are syntax-checked and their core logic passes a mock-based test, but they have not yet been run against real documents. Run the test checklist on a sample file before using this in production.

Features

  • Stable story IDs. Each story gets a hidden ID stored inside the .indd file, so translations land in the right place even if frames are moved or rethreaded.
  • Everything that holds text. Stories (including threaded frames, text on paths and parent pages), table cells and footnotes.
  • Formatting preserved. One translation unit per paragraph. Paragraph styles are never touched. A bold word, a character style or a colour change inside a paragraph becomes an XLIFF <g> tag and is restored on import.
  • Objects stay in place. Anchored frames, inline graphics, page numbers, footnote references, tables and markers become protected <x> placeholders. Forced line breaks and tabs become <x> tags that translators may move.
  • Context for translators. Every group carries a <note> with its page, layer, paragraph style, font and size, and flags fixed-size frames ("watch the length").
  • Safe import. The original stays untouched. Stories edited after export are skipped and reported. Untranslated paragraphs keep the source text. Locked layers and Track Changes are handled automatically. Each import is a single undo step.
  • Overset check. After import, every story or cell whose translated text no longer fits is listed with its page.

Quick start

  1. Copy the two scripts from scripts/ into InDesign's Scripts Panel folder (installation guide).
  2. Open your document. In Window › Utilities › Scripts, double-click Translation Export. Enter the source and target languages.
  3. Translate the .xlf files.
  4. Open the original document again and double-click Translation Import. Select the translated .xlf files.

Documentation

Guide For
Installation guide Installing, updating and removing the scripts on Windows and macOS
User guide Designers, project managers and translators running the workflow
Developer guide Architecture, XLIFF format, testing and releasing

Repository layout

scripts/
  Translation Export.jsx     export to XLIFF (round trip, part 1)
  Translation Import.jsx     import translated XLIFF (round trip, part 2)
tests/
  logic-test.js              tests the core logic against a mock text model (Node.js)
docs/
  installation-guide.md
  user-guide.md
  developer-guide.md
CHANGELOG.md

Requirements

Adobe InDesign CC 2019 or later on Windows or macOS. No plugins, extensions or Adobe developer account required.

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) Wordpress-Polylang-Supertext-Translation WordPress plugin: a machine-translation service for Polylang Pro, plus professional translation orders. AI translation next to DeepL in Polylang, and human translation orders
WordPress (WPML) Wordpress-WPML-Supertext-Translation WordPress plugin for WPML, with bulk actions in the posts and pages lists and a Supertext box in the editor. AI translation into your WPML languages, professional translation orders and XLIFF/HTML translation files

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

Support

Questions, problems or ideas? Use the Supertext support form: describe what happened and you get an answer by email, in your language. Requests are tracked as issues in this repository, without your name and email address. Developers are welcome to open issues and pull requests here directly. Security issues: see SECURITY.md.

About

Round-trip translation for Adobe InDesign: export all text to XLIFF 1.2 and import the translations with formatting intact.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages