Skip to content

1. The MTUOC Project

Learning Objectives

After completing this section, you should be able to:

  • Understand the main components of the MTUOC ecosystem and their role in machine translation workflows.

  • Explain how MTUOC-server connects NMT systems and LLMs with client applications, including CAT tools.

  • Identify the main features of MTUOC-server for integrating translation technologies into professional workflows.

  • Configure, run, test, and manage MTUOC-server using the command line, the graphical interface, and MTUOC recipes.


Suggested Reading

To gain a deeper foundational knowledge of the MTUOC project and its server architecture, we recommend reading the following academic papers:

  • Antoni Oliver and Sergi Alvarez-Vidal (2023). Training and integration of neural machine translation with MTUOC. In Proceedings of the 1st Workshop on Open Community-Driven Machine Translation, pages 5–13, Tampere, Finland. European Association for Machine Translation.

Read Paper on ACL Anthology

  • Antoni Oliver (2025). MTUOC server: integrating several NMT and LLMs into professional translation workflows. In Proceedings of Machine Translation Summit XX: Volume 2.

Read Paper on ACL Anthology


1.1. Overview of the MTUOC Project

The MTUOC project, developed at the Arts and Humanities Department of the Universitat Oberta de Catalunya (UOC), is a comprehensive open-source initiative designed to facilitate the training, customization, use, and integration of neural machine translation (NMT) and statistical machine translation (SMT) systems, as well as Large Language Models (LLMs) for translation, within professional translation environments.

While most modern MT toolkits are distributed under free and open licenses, their practical adoption in real-world professional workflows presents several challenges:

  • Technical Skills Barrier: Toolkits often require medium-to-high programming knowledge (Python, Bash scripting) and may lack comprehensive, user-friendly documentation.
  • Integration and Interoperability: Custom-trained engines cannot always be easily or natively integrated into popular Computer-Assisted Translation (CAT) tools used by professional translators.
  • Hardware Requirements: While training new NMT models requires powerful dedicated GPUs and significant RAM, running inference — translating text with an already trained model — requires considerably fewer computational resources.

MTUOC addresses these issues by providing well-documented scripts, accessible graphical user interfaces, and a highly configurable local server. All project components are distributed under a free GNU GPL license, allowing individual professionals, language service providers (LSPs), and educational organizations to maintain technological independence and data confidentiality.


1.2. Key Ecosystem Components

The project provides a comprehensive ecosystem of modular tools covering different stages of the machine translation lifecycle:

  • Corpus Creation: Utilities designed to extract and convert proprietary translation formats (such as TMX, SDLTM, and XLIFF) into plain tabular text files. The project includes automated programs for sentence-level document alignment using Hunalign, as well as tools for comparable corpus mining using sentence embeddings with SBERT.
  • Corpus Cleaning and Combination: Advanced scripts to remove HTML/XML formatting tags, normalize special characters, filter out corrupt segments by length ratios, and verify language identification using fasttext. An algorithm to clean and rescore large parallel corpora is also available. Additionally, the project includes utilities to expand specialized domain corpora by retrieving similar segments from large general corpora based on language model perplexity.
  • Preprocessing and Training: Standardized data preparation tools, including tokenizers, truecasers, and subword segmentation models such as BPE and SentencePiece. The project provides pre-configured training scripts and configuration files for engines such as Moses, Marian, OpenNMT, and Eole, as well as step-by-step guides and scripts to fine-tune open LLMs specifically for translation tasks.
  • Free Pre-trained Engines: The project packages and distributes pre-trained, ready-to-use NMT models for several language pairs and specialized domains.
  • Client Programs: Dedicated desktop applications and a web interface for translating standalone documents are distributed with the suite. A specialized post-editing environment is also under active development.

1.3. The MTUOC-Server

MTUOC-server is a central component of the architecture, designed specifically to address the interoperability gap between backend machine translation engines and frontend professional CAT tools.

1.3.1. Architecture and Workflow

The server operates on a lightweight client-server model, acting as a middleware bridge. The translation workflow follows a clear multi-step process:

  1. Request: The client application (e.g., a CAT tool plugin or translation desktop application) sends a source segment to MTUOC-server.
  2. Preprocessing: The server preprocesses the incoming segment by applying the required pipeline (tokenization, truecasing, subword segmentation with SentencePiece, etc.).
  3. Inference: The server forwards the processed segment to the underlying MT engine or local/remote LLM.
  4. Postprocessing: After receiving the translated output from the engine, the server applies the corresponding inverse processing steps (detokenization, undoing subword splits, character re-normalization, etc.).
  5. Response: The final clean translated segment is formatted and returned to the client.

MTUOC-Server-MTSummit25

1.3.2. Protocol Interoperability

One of the key features of MTUOC-server is its ability to communicate using multiple protocols, including MTUOC, Moses, ModernMT, OpenNMT, and NMTWizard. The server can emulate these protocols, and new protocols can be added in the future.

For instance, you can use a fast Marian neural engine while configuring MTUOC-server to behave like a Moses server. This makes it possible to integrate different translation engines with CAT tools and other client applications without requiring them to support each underlying engine directly.

1.3.3. Supported Systems and LLMs

The server supports a broad range of translation technologies:

  • NMT Systems: Open-source engines and models such as Marian, OpenNMT, Moses, OpusMT, NLLB, CTranslate2, and Apertium, as well as commercial APIs such as DeepL and Google Translate.
  • Large Language Models (LLMs): The server integrates models such as Salamandra, Bloom, ChatGPT, DeepSeek, and Tower. Users can access these models via API or by downloading models from Hugging Face and running them locally using the transformers library. The server also allows users to define custom translation prompts and use regular expressions to extract the translated text from the LLM response.

1.3.4. Features for Professional Workflows

To support professional translation workflows, MTUOC-server includes several advanced features:

  • XML/HTML Tag Restoration: Neural engines may struggle to place formatting tags correctly, for example when processing DOCX files. The server uses an algorithm based on word or subword alignments from the MT system to restore tags. If the MT system does not provide alignments, external fast_align models can be used.
  • Translation Memories: The server can integrate translation memories and return a translation memory match when its similarity score exceeds a predefined threshold.
  • CAT Tool Plugins: Dedicated plugins are available for direct integration with OmegaT and RWS Trados Studio.

1.3.5. Hardware and Platform Compatibility

MTUOC-server is multiplatform and runs on Linux, Windows, and macOS. While training MT systems requires powerful hardware, running MTUOC-server for translation does not necessarily require a GPU. It can run on standard consumer computers, making NMT and LLM technology more accessible while allowing translators to keep client data on their local machines.


1.4. Starting and Stopping an MTUOC-Server

1.4.1. Getting MTUOC-Server, Versions and Prerequisites

To get MTUOC-server, go to the MTUOC-server GitHub repository.

If you have a Python 3 interpreter installed on your system, you can use the Python source code and install the required dependencies listed in requirements.txt.

Alternatively, you can go to the Releases section and download the binary version for your operating system.

1.4.2. Running MTUOC-Server from the Terminal

To start MTUOC-server using the default config-server.yaml configuration file, enter the following command in the terminal:

python3 MTUOC-server.py

If you want to use a specific configuration file, for example config-server-opusmt-eng-spa.yaml, use:

python3 MTUOC-server.py config-server-opusmt-eng-spa.yaml

To stop MTUOC-server, enter:

python3 MTUOC-stop-server.py

or, when using a specific configuration:

python3 MTUOC-stop-server.py config-server-opusmt-eng-spa.yaml

A complete engine can be downloaded and configured using MTUOC recipes. Available recipes can be found in the MTUOC-recipes repository.

You can download a recipe in two ways.

If you already have the recipe as a file:

python3 MTUOC-downloader.py recipeAina-cat-eng.yaml

Alternatively, you can provide the direct link to the recipe:

python3 MTUOC-downloader.py https://huggingface.co/datasets/aoliverg/MTUOC-recipes/resolve/main/recipeAina-cat-eng.yaml

1.4.3. Using the MTUOC-Server Manager

A graphical user interface (GUI), MTUOC-server-manager.py, is provided to simplify the process of starting, stopping, testing, and configuring MTUOC servers.

When you start the application, the following interface is displayed:

MTUOC-server Manager interface

The application is organized into five tabs:

  • Control: Select an engine through its configuration file, start and stop the server, and check its status.
  • Test: Send sentences to the active server for translation.
  • Configuration Editor: Edit the basic configuration of the translation engine.
  • Aux. Editor: Edit additional configuration files required by some models.
  • Recipes: Download complete pre-configured engines from MTUOC recipes.

The Control Tab

MTUOC-server Manager Control tab

In this tab, you can select one of the available server configuration files. These files should be placed in the same directory as MTUOC-server-manager. Once you have selected a configuration, click Start to launch the server.

The console displays relevant information about the running server. Use the Stop button when you want to stop it.

The Test Tab

MTUOC-server Manager Test tab

In the Test tab, you can write or paste sentences or paragraphs and send them to the active translation system. This provides a simple way to verify that the selected engine is running correctly and inspect its translations.

The Configuration Editor Tab

MTUOC-server Manager Configuration Editor tab

When you click LOAD SELECTED CONFIGURATION & LINKED MODEL CONFIG, the configuration files are loaded into two tabs: 1. Server Configuration (Main) and 2. Model Configuration (Linked).

You can inspect and modify the configuration files and save your changes using the corresponding SAVE button at the bottom of the interface.

Note that changes are not applied to a running server. You must stop and restart the server for the new configuration to take effect.

The Aux. Editor Tab

MTUOC-server Manager Aux. Editor tab

The Aux. Editor tab allows you to edit additional text-based configuration files required by some models. You can open a file using the OPEN button, modify it, and save the resulting file using SAVE AS.

The Recipes Tab

MTUOC-server Manager Recipes tab

The Recipes tab allows you to download complete engines, including models, alignment models, truecasers, and other required components, from a Hugging Face repository containing MTUOC recipes.

By default, the aoliverg/MTUOC-recipes repository is selected. If you change the repository, use the CONNECT/REFRESH button to update the list of available recipes.

You can filter the available recipes by entering a search string. Once you have identified the recipe you want to use, select it and click DOWNLOAD SELECTED RECIPE.


Key Takeaways

After completing this section, you should remember that:

  • MTUOC is an open-source ecosystem for training, deploying, and integrating machine translation systems and LLMs.

  • MTUOC-server bridges translation engines and client applications, managing preprocessing, inference, postprocessing, and communication.

  • Its support for different NMT systems, LLMs, protocols, tag restoration, and translation memories facilitates integration into professional translation workflows.

  • MTUOC-server can be run and managed locally using the command line or graphical interface, while MTUOC recipes simplify the installation of complete translation engines.