Multilingual XML FileType
By Trados AppStore Team
Free
Description
- to learn more about the app itself please look in the Multilingual XML FileType wiki
The Problem
Sometimes you receive XLIFF files with large dumps of html in CDATA sections, or invalid XLIFF files (still well formed but not recognised as valid XLIFF by Trados Studio), partially translated bilingual XML files, multilingual XML files and all the work this entails in creating settings for each language pair and then attempting to piece them altogether afterwards or even needing to use an html embedded content processor AND regex rules for placeables. If you can recognise these sort of problems then this filetype will bring some welcome relief!
The Solution
The Multilingual XML FileType solves all of these problems and more. Some common usecases for it would be:
- create bilingual or multilingual projects from an XML file containing at least two languages handle large CDATA dumps in XLIFF files correctly handling well formed, but invalid XLIFF files that Trados Studio will not handle out of the box handle bilingual or multilingual XML files without the need to copy the source into the target element and translate the target element only. handle partially translated bilingual or multilingual XML files
You can learn more about the app itself in the Multilingual XML FileType wiki.
Technical details
3.0.1.0 - Trados Studio 2024
Changelog:
- updated to support Studio 2024
- TellMe updated
- Resolved bug when parsing the paragraph id from the preview html document.
- Resolved bug with entity conversion when working with content processors
Checksum: 83cfaa076f6d9a2597d188a4e3495bcd276b10e9de4863953aabbfccc58dd46a
Release date: 2024-06-25
2.2.1.0 - Trados Studio 2022 (SR2)
Changelog:
- Resolved bug when parsing the paragraph id from the preview html document.
- Resolved bug with entity conversion when working with content processors
Checksum: ff5851331c8e04c2a53fc562d9885c7cb06c09a818dd7de3a716a981cf9c0b2c
Release date: 2024-06-05
2.0.9.1 - Trados Studio 2022
Changelog:
- Corrected updated plugin manifest to ensure that the plugin will not attempt to install into Trados Studio 2022 SR1. This is important because the SR1 release contains breaking changes that will cause this version of the plugin to prevent Studio from starting. There will be a further update of this plugin specifically for the 2022 SR1 release either alongside, or shortly after SR1 is made publicly available.
Checksum: c566ed84b590e7c28c0d9f757bb9cd921aa1951af4e790e1e623959603da4738
Release date: 2023-06-06
1.0.3.3 - Trados Studio 2021
Support website: https://community.rws.com/product-groups/trados-portfolio/rws-appstore/f/rws-appstore
Shared products:
3.0.1.0 - Trados Studio 2024
- updated to support Studio 2024
- TellMe updated
- Resolved bug when parsing the paragraph id from the preview html document.
- Resolved bug with entity conversion when working with content processors
2.2.1.0 - Trados Studio 2022 (SR2)
- Resolved bug when parsing the paragraph id from the preview html document.
- Resolved bug with entity conversion when working with content processors
2.0.9.1 - Trados Studio 2022
- Corrected updated plugin manifest to ensure that the plugin will not attempt to install into Trados Studio 2022 SR1. This is important because the SR1 release contains breaking changes that will cause this version of the plugin to prevent Studio from starting. There will be a further update of this plugin specifically for the 2022 SR1 release either alongside, or shortly after SR1 is made publicly available.
1.0.3.3 - Trados Studio 2021
No related information.
Introduction
The Multilingual XML Filetype is a new filetype available for Trados Studio SR2 and later. The basic usecases for this filetype are:
- create bilingual or multilingual projects from an XML file containing at least two languages
- handle large CDATA dumps in XLIFF files correctly
- handling well formed, but invalid XLIFF files that Trados Studio will not handle out of the box
- handle bilingual or multilingual XML files without the need to copy the source into the target element and translate the target element only.
- handle partially translated bilingual or multilingual XML files
Installation
The filetype can be installed through the AppStore integration in Trados Studio (image below), or by downloading the sdlplugin file from the website and double clicking it to invoke the plugin manager.
Once installed you should find the new filetype installed under File Types.
If you don't see the filetype in your options make sure you have enabled it in the options "Additional filetypes exist"
You will also find two new batch tasks:
These will be explained below.
Settings
Multilingual XML
- the only option available here is to specify the file dialog wildcard expression if needed. In this example you can see *.tmx has been added. This would allow you to use this filetype to translate a TMX file. The only requirement is that the type of file you are opening is a well-formed XML file.
Language Mapping
- here you specify the location of the languages root element. This is done by using an XPath expression. In this example the TMX file looks like this:
- The XPath expression to the languages root element would be:
- /tmx/body/tu
- This is because the languages are defined within the tuv element for each tu element.
- each language in your file can be added to this section by clicking on the Add button, defining the Language and specifying the XPath query that locates the actual translatable content:
- In this example the translatable content is actually in the seg element, but the language defined in each case is controlled by an attribute in the tuv element. So the XPath expression needs to specifically point to where each language will be found:
- tuv[@xml:lang='EN']/seg
- The screenshot above shows multiple languages because the file is a multilingual TMX and this filetype can support the creation of a multilingual project from this single TMX file.
- A simpler example could be something like a basic bilingual XML file:
- Here the settings would be like this:
- The Language Root XPath would be:
- /sitecore/item
- The location would be the language element used in the file:
- en and de respectively.
It's very important to make sure that the paths are correct. The main reason for the filetype not being associated with the file opened for translation is failing to accurately specify the XPath locations. If you have any questions on how to do this for your filetype the recommendation is to ask for help in the appropriate forum
XML files come in all shapes and sizes so some knowledge of how to use XPath is essential. If you are completely new to XPath you may also find these resources useful:
- XPath tutorial in W3Schools - https://www.w3schools.com/xml/xpath_intro.asp
- XML in a nutshell, chapter 9 XPath - https://docstore.mik.ua/orelly/xml/xmlnut/ch09_01.htm
- More regex? No, it's time for something completely different - https://multifarious.filkin.com/2013/07/30/xpath/
- X Files - ATA 56 - https://multifarious.filkin.com/2015/11/07/x-files-ata56/
The last two at least relate to using Trados Studio.
Adding additional languages
A last point on this section. If you wish to add a new language into the file that wasn't present in the source then this is also possible. Just add the new language to your language settings for the project and then create the appropriate rule in the language mappings. You can now translate this additional language and when you save your Multilingual Translations via the batch task you will find the new language has been added to the file based on the XPath expression you used to map this additional language.
Embedded Content
This section is the same as for any embedded content processing in Trados Studio. An important point is that you do not have this ability to use another filetype (html for example) as an embedded content processor in the XLIFF filetypes supported by Trados Studio. So this is a big advantage, especially when handling XLIFF files that make heavy use of large CDATA sections in single translation units.
Placeholders
This section supports the ability to "tag" text as a placeholder in Trados Studio irrespective of whether you are also using an embedded content processor or not. This is an extremely useful feature because all other filetypes in Trados Studio that offer embedded content processing are either one or the other, so regex rules for everything OR use another fietype like html for the embedded content processing.
The filetype comes with four predefined rules that you can use if appropriate, or remove and just create your own rules. The process is simple, just click on Add:
Then write your regular expression, define the segmentation hint, and if you wish you can add a description. It's worth adding a description because you can also import/export the rules you have created to make it easier to share with others, or even maintain a library for yourself that you can simply import and then remove the ones you don't need as a starting point when setting up your filetype for a specific project. The different options available to you are defined across the toolbar.
Entities
This section provides entity support that works the same way as it does for any filetype in Trados Studio that supports them. See the producthelp for more details.
QuickInsert
This section provides support for QuickInserts that works the same way as it does for any filetype in Trados Studio that supports them. See the producthelp for more details.
Using the Multilingual Filetype
Creating a project
- the first thing to note is that your project template/settings must contain all the languages you have specified in your filetype settingsthe second thing to note is that if your filetype settings are incorrect in any way then the Multilingual XML Filetype will not be recognised as it has in the screenshot above
When you add a multilingual XML file, properly set up, your multilingual project will be created for all the language pairs specified allowing you to manage the project in the usual way.
Batch Tasks
In the Installation section above it was mentioned that two new batch tasks are added to Trados Studio:
- Import Multilingual Translations
- Generate Multilingual Translations
Import Multilingual Translations
This batch task will import all translations that may be present in the source file. If you have the Professional version of Trados Studio you can create custom tasks that include this task as part of the project preparation. In the screenshot below you can see the task is a custom task that only does three things - converts to translatable format, copies to target languages and imports the multilingual translations:
If you are using the Freelance version of Trados Studio then you will need to run this task after the project has been created.
The options allow you to do four things:
- overwrite existing translations. So if you are importing a file translated elsewhere and you need to use that as the approved translations you can import it and replace anything in your project with the target translations of your approved file.define the origin system. This will add whatever information to write in here into the SDLXLIFF file. Maybe useful for filtering on the file at some point or for identifying where the imported translations came from for example.set the segment status. This just allows you to define what status the imported translations should have when opened in the Trados Studio editor.exclude segments. This will prevent segments with the selected criteria in Trados Studio from being updated with the contents of the imported file.
Generate Multilingual Translations
This batch task will generate the target multilingual file when you have completed the project (or earlier if you wish). It is different to the out of the box generate target translations, which will also work, because it will take the target translations from each of the files you have translated in a multilingual project and merge them back into single files again. This will be very beneficial because the out of the box task will create separate files for each language pair being translated and you would then have to merge them all into single files manually afterwards.