This article covers how to translate Adobe InDesign Markup Language (IDML) files in Smartling, including file preparation, upload steps, and available API directives.
| Extension | .idml |
| Smartling Identifier | idml |
| Resources | InDesign Markup Language Resources |
You can use Smartling to translate the content of Adobe InDesign documents in one of the following ways:
- Via file upload, by selecting an INDD or IDML file format, or
- Via the Adobe InDesign Plugin.
This article only explores steps to translating InDesign Markup Language (IDML) files via file upload (drag & drop). If you are interested in integrating your InDesign directly with Smartling, consult your Smartling Representative about our Adobe InDesign Plugin.
Translating InDesign files
Smartling supports the translation of files in both the native Adobe InDesign Document format (.indd) and in an Adobe InDesign Markup Language format (.idml). IDML is a more lightweight XML-based format that is ideal for data exchange with tools like Smartling, while INDD files are typically larger, with more resource data being cached. Depending on your design processes, you can opt for either file format when it comes to translating your InDesign document in Smartling.
IDML is most often used as a native file format for PDF documents. Once the IDML has been translated, post-translation production in the form of desktop publishing (DTP) takes place to produce the translated PDF. DTP can take time and resources in your translation process, so it is important to follow the steps outlined below for best results when translating Adobe InDesign files.
Preparing Adobe InDesign Files for Translation
Export to IDML
To translate Adobe InDesign files using Smartling, you or your designer must export the document to the IDML format (.idml). Go to File > Export and select InDesign Markup (IDML) in the Export dialog window.
If you are uploading IDML files via API, you can also configure how Smartling parses your file using directives. Directives control behavior such as string segmentation, hyperlink handling, and tag reduction.
Steps to Translating Adobe InDesign Files
- When creating the source file, follow a localization-friendly format. For example, hard returns in the middle of a sentence should be avoided, and replaced with soft returns. For more information, read Best Practices for Adobe InDesign Translation.
- Ensure to create a Files Project for file translation management.
- Ensure track changes is switched off or all changes have been accepted/rejected.
- Once you're ready to translate the file, create a Job. If any content is ingested that should not be translated, you can exclude it from translation, should you need to. To get an idea of what the layout and display of the translated file will be, you can download a pseudo translated file. From here, you can decide if any adjustments are necessary to the source content.
- You can also provide instructions to provide context. By attaching a JPG or PDF export of the InDesign document in the original language and providing instructions about the document, you can create an excellent reference for translators to help them understand the context. Remember that not all translators can open the IDML file, so Smartling strongly recommends that you provide context via instructions.
- Furthermore, applying character limits to strings can help ensure translations are kept to a certain length.
- Translators can generate dynamic Visual Context from within the CAT Tool by clicking the Generate document with the latest [language] translations button once they save translations.
- When translations are complete, download the published translations to your local drive.
- If the IDML file is used as a native file format for a PDF document, we recommend including a post-translation step for desktop publishing (DTP) into your localization process. This is an important step to produce a correctly formatted, localized PDF file. DTP takes place outside of the Smartling platform; typically it is carried out directly in InDesign.
You or your design resource can open the file with all links intact and, if needed, save it in the native Adobe InDesign (.indd) format for production.
If you need to convert a batch of Adobe InDesign files from their native file format (.indd) to InDesign Markup Language format (IDML), there are applications that can assist with the process.
Smartling only translates the text of the IDML file. Other data, such as fonts, are not changed. This means that if you are translating into a language with a non-Latin character set, such as Chinese, you may need to set new fonts with the appropriate character set before you can read your translated files. Only standard InDesign fonts are compatible in Smartling.
Right-to-left (RTL) languages
When an IDML file is translated into an RTL language, Smartling automatically adjusts the formatting to accommodate RTL text. While this reduces the time and effort required by your DTP vendor to adjust text, paragraphs, and design elements, it does not eliminate the need for DTP. Final formatting adjustments are still necessary to ensure a polished result.
Troubleshooting Translated Adobe InDesign Files
When viewing and deploying translated Adobe InDesign files, it is important to remember that most fonts do not contain the characters necessary to display content in every language.
When you upload a file to Smartling, by default, only the text of the file is captured and translated. This means that, when you download your translated file, its font may not support all the new characters. These characters will be displayed as empty boxes, sometimes referred to as 'tofu'.
If you open a translated file and it's full of tofu, it doesn't mean that the file is corrupted. It may just be that your current font can't display the translation. To view these files, you need to have a font with the required characters.
Choosing an appropriate final font for your translated files is an important design decision, but if you just want to check your translations, a good place to start is with Google's Noto collection of fonts. Noto fonts are available to support most languages and scripts.
For more information, read Best Practices for Adobe InDesign Translation.
Directives
Directives are instructions to Smartling on how to process your file, including what content is translatable, what is a placeholder, and how strings should be segmented.
The following directives can be added when uploading IDML files to Smartling via API. They are added as API parameters.
API Parameter
smartling.[directive_name] = [value]
Include Original Strings
| Directive | includeOriginalStrings |
| Values | true (default) | false |
| Description | When set to true (default), if a translation is authorized but not yet published or prepublished, the source string appears in the downloaded output. Set to false to exclude source strings and incomplete translations from the downloaded file. |
| Example | smartling.includeOriginalStrings=false |
Translate Hyperlinks
| Directive | translate_hyperlinks |
| Values | true | false (default) |
| Description | Controls whether hyperlink addresses are ingested for translation. When set to false (default), only the link text is ingested as part of the source string; the URL is not extracted. When set to true, the link text is included in the source string and the URL is uploaded as a separate string for translation. |
| Example | smartling.translate_hyperlinks=true |
Tag Reduction Strategy
| Directive | tag_reduction_strategy |
| Values | default | off |
| Description | When set to default, the parser detects the default font within ingested strings and removes redundant tags, reducing translation effort and improving TM leverage. |
| Example | smartling.tag_reduction_strategy=default |
Force Inline for Objects
| Directive | idml_force_inline_for_objects |
| Values | (not set) (default) | TextFrame | Group | Table |
| Description | By default, anchored objects (such as icons or symbols embedded within a paragraph) interrupt the paragraph and are extracted as separate strings. Use this directive when anchored objects are splitting paragraphs that should be translated as a single string. When set, the specified object types are treated as inline placeholders within the surrounding paragraph rather than as segment boundaries. Translators can reorder placeholders to match target-language word order; anchored objects are repositioned accordingly in the output IDML. Multiple values can be combined as a comma-separated list. Values are case-sensitive (PascalCase). Unrecognized values are silently ignored. Polygon and Rectangle elements are always treated as inline regardless of this directive. |
| Example | smartling.idml_force_inline_for_objects=TextFrame,Group,Table |