Haufe X360 - Making technical documentation available in the language of the target group with Machine Translation
Who is Haufe X360 and what is this project about?

The Haufe Group is a group of companies based in Freiburg im Breisgau. It emerged from the publishing house founded by Rudolf Haufe in 1951. In recent decades, the classic core areas of the initially pure publishing business have been replaced and supplemented by digital and web-based services.
This blog post is about one of today's core products, namely the ERP system Haufe X360. More precisely, the translation of the extensive documentation from English into German.
The initial situation
Five years ago, Haufe X360 signed a contract to license the American ERP solution Acumatica. Acumatica is currently the fastest growing cloud ERP solution.
Acumatica is present with its solution in several countries. In these countries, the system is supported by partners and adapted for the respective market. These adjustments relate, for example, to special tax conditions in the respective country or address local legal requirements. For the German-speaking market, the system appears under the name Haufe X360.

Acumatica's cloud ERP solution, like other products, requires technical documentation. For this purpose, Acumatica provides the partners with the entire stock of technical documentation in English.
Facts and figures about the Haufe X360 documentation
The documentation consists of a wiki that is integrated into the software.
In addition, there are 47 user guides and 76 training documents that Acumatica provides to its partners.
The data is available for download. There are about 40,000 files in more than 600 folders.
The files are in DITA(Darwin Typing Architecture) format.
The translation volume amounts to around twelve million words that need to be translated from English into German for the DACH area.

In view of this large number of documents, Haufe X360 decided at an early stage to use Machine Translation to translate them into German. The machine translation tool used is DeepL.
Publication environment for technical documentation
The publication environment provided to Acumatica partners looks like this.
Implementation of an automated translation process with Machine Translation and c-rex.net data services
The first translation attempts with a combination of Machine Translation and the use of a CAT tool led to poor translation results. The main problem with this first attempt was that the translation of the text could not be matched with the translation of the interface terms of Haufe X360.
In a second attempt, c-rex.net was brought on board to set up an automated, integrated process.
This new process is best described by the following keywords:
Integrated translation
without CAT tool
with rule-based data preparation
with Machine Translation (DeepL)
with integration of terminology
And this is how the process could be represented figuratively:

Integration into the existing publishing environment at Haufe X360
The first requirement we implemented was to integrate the translation process into the existing Haufe X360 publishing environment.
Thinking back again for a moment: technical documentation is provided as a set of DITA files in English. Publication environment is Oxygen. PDF output and wiki output are created from this environment.
And it is precisely into this existing environment that we have integrated the translation process.
What is known about c-rex is that due to our open architecture and a REST API, our data services can plug into existing environments and integrate seamlessly.
In the solution we developed for Haufe X360, a significant part runs via plug-ins developed and customized by c-rex from the so-called DITA open toolkit environment of Oxygen.
The translation process is triggered directly in the editor at the touch of a button. In the screenshot you can see a set of documents organized in a map.

users start the translation process by selecting "Haufe Translation".
In the background, sequential processes are running, which are roughly shown here in the diagram.

The data to be translated is collected, zipped and sent to our data service DTS. There the DITA files are converted to XLIFF. This is a special exchange format for translations.
The data is prepared for translation, translated using the machine translation tool DeepL and then reassembled into a German DITA document. This document is packed into a map so that the publishing processes to PDF and to the wiki work.
Consideration of terminology in the translation process
The second requirement that Haufe placed on the new process was the issue of terminology.
It must be ensured that in texts translated by Machine Translation, the terms that appear in the Haufe X360 software are translated exactly as they are called in the software.
Since the software in its German version has been in use for a long time, many terms are already in use. These terms should be used for the translation of the documentation when using Machine Translation and should not be translated anew and possibly differently.
Matching user interface (GUI) text and surrounding text was a challenge that we were able to solve by providing the terminology to the machine translation process.
In the case of Haufe X360, this is an Excel file that contains the interface texts. But other formats, such as terminology in tbx format, can also be included.
We summarize
Taking into account the costs and time involved, it was only possible to produce a German translation of the Haufe X360 documentation by using Machine Translation. users the ERP system can now access the Haufe X360 Wiki and the corresponding user manuals in their local language.
Two points in particular should be highlighted here.
MT engines usually have difficulties with structured data and provide insufficient support in this respect. That is why the preparationMT. process step is particularly important for
We have developed special routines to make the text MT-ready. In doing so, we resolve deeply nested XML structures in DITA and in the resulting XLIFFs to the extent that a string ends up as close as possible to the optimal plain text and is given to DeepL for translation.
In this way, we reduce possible sources of error to a minimum when handling the structural information (tags).
To DeepL we also pass content that is not to be translated, such as variables, so that DeepL has the full context for the translation and thus provides a good translation.
The second important point is the ability to incorporate terminology into the process. In the case of Haufe X360, this is an Excel file that contains the interface texts. This ensures that the translation of technical terms in the text also corresponds to the interface texts of the software.
If all this is taken into account, then the translation is good enough
, says project manager Erik Heussler of Haufe
X360. We are glad that c-rex.net competently advised and supported us in setting up this process. With the implementation of c-rex.net's cloud data services, we now have a viable solution.

