Translate IODD files – directly into several foreign languages

  • 04 July 2017
  • by Stefan Weimar
Translate IODD files – directly into several foreign languages

The IO link standard includes a language dependent section in the IODD file. You can place e.g. translated display texts or PLC notifications here. A number of companies do not use this opportunity and consequently sacrifice significant marketing arguments. The following is a guideline to show you how to translate this section.

What are IODD files?

IODD = IO link Device Description

An IODD file is a device description file for the IO link system. In this file, standardized device parameters such as manufacturer and product information are filled with values, which communicate the operating principle behind the device and its communication parameters to the IO link system.

Detailed information can be found on

An IODD file is an XML file with UTF-8 encoding, which is constructed as follows:

  1. ProfileHeader with information on the underlying IO link profile
  2. ProfileBody with information on the manufacturer and device function
  3. CommNetworkProfile with information on communication parameters
  4. ExternalTextCollection with language dependent information

Section of an IODD file that is relevant for translation

The ExternalTextCollection section

Language specific information e.g. display texts for the sensor or actuator and also messages for the PLC can be incorporated into this section.


The section ExternalTextCollection always contains the section PrimaryLanguage, generally with English language information.


There can be any number of other Language sections contained in the IODD file, one section per language. The translation of the text from PrimaryLanguage is incorporated in these sections.

Set-up of the Language section

In the Language section, there are only text type XML tags with two attributes id and value respectively.


Set-up of the Language section in an IODD file. Only the data of the value attribute has to be translated. The id attribute is purely context information.

Possible ways to translate the IODD file

The translator edits the XML file

That is at least risky. The translator has to know exactly what he or she is doing. XML validation of the translated file is essential. In addition, the translations are then only available in the IODD file and not in the translation memory of a CAT tool such as memoQ

Copy & Paste by the design engineer

The design engineer, who knows the IODD file, copies the language relevant texts into an Excel file. This Excel file is translated using a CAT tool. The translation is delivered in the form of an Excel file and the design engineer has to paste every single text using Copy&Paste, which is extremely time-consuming.

In this case, again a validation of the XML file is unavoidable, but the translations are at least available in the translation memory and can be used as reference material for the translation of the associated manual.

Translation of the IODD file in the CAT Tool with special import filter

This is the most efficient and safest way. The import filter ensures that only the data for the value attributes is translated. The translations are in the right position after export from the CAT tool. Validation is not necessary, as only the data of the value attributes is made available by the import filter for editing.

Direct translation of the IODD file with memoQ

We have configured an import filter for our CAT tool memoQ, which only makes the content of the value attribute editable and saves the content of the id attribute as context information.

We can import the IODD file directly and translate into any number of languages.

An example of this is a file, which we directly downloaded from

After importing, the IODD file looks like this in memoQ.

The screenshot shows the status during the translation in memoQ.
  1. These texts were manually translated and confirmed.
  2. This is the preview of the translated text in the IODD file.
  3. The English translation should be entered here. The translation results pane with translation memory hits is helpful here.
  4. In the preview, the current segment of the text to be translated is framed in red. As nothing has been entered yet, the German text is still displayed.
  5. The translation results section shows the available translations in the translation memory. „Gerätefamilie“ had already been translated as „Device family“ and can be entered per mouse click.
  6. T_DeviceFamily is the entry id. This entry id cannot be edited and is purely informative, it is however saved in the translation memory as an additional reference.
It is therefore evident that only texts relevant to the translation are displayed and can be processed by the translator. The remaining XML code remains protected.

Advantages of translation in memoQ

​Functionality for efficient translating

The translator can avail of the complete memoQ function range, this includes translation memories, termbases, LiveDocs etc. and can translate rapidly and efficiently in a familiar environment.

The integrity of the IODD file remains intact

As only the texts to be processed can be edited, the integrity of the XML file remains securely intact.

Reuse of the translation

The translation is saved in the translation memory and is therefore available e.g. for efficient translation of updates of the IODD file and for translations of similar IODD files.
Even if only German-English or English-German is translated, you can use this translation, to avail of the German or English texts as a reference for the translation of operating instructions into other languages. There is an example of this on

This blog post was contributed by Stefan Weimar, CEO at PRODOC Translations. PRODOC Translations GmbH is a German LSP specialized in localization at the following fields: Energy technology, Automation technology, Sensor/measurement technology, Power electronics and Software documentation. To know more about PRODOC Translations GmbH visit their website