From Wikipedia, the free encyclopedia
Jump to: navigation, search
Original author(s) Klemens Waldhör
Developer(s) Klemens Waldhör, Rainer Kemmler
Initial release November 10, 2008
Stable release
0.9.1 / July 9, 2009 (2009-07-09)
Written in Java
Operating system Cross-platform
Type Computer-assisted translation
License EPL
Website Homepage openTMS

openTMS is an Acronym for "Open Source Translation Management System".


openTMS is a free, open source, translation memory system based entirely on open-source standards (for an explanation/definition of translation memories, see Wikipedia). The system relies heavily on XLIFF, TMX (Translation Memory eXchange), TBX (Termbase Exchange format) and accompanying standards to ensure a free and unencumbered exchange of translation and localization data. openTMS implements a standard translation workflow, but features a very fine-grained modularity that makes its adaptable to any conceivable workflow design.

Software Architecture[edit]

The architecture of openTMS is mainly based on several models. These models describe the key components of openTMS. Each model handles a specific aspect of the translation process and its requirements. The models form a framework which guide the construction of language specific software tools.

Basic openTMS software architecture

The following core models are identified:

  • Security model: This model describes the security aspects and requirements of OpenTMS. Other models use the security model to allow or restrict the access to OpenTMS specific functions. OpenTMS uses a security model which on the one side secures the communication channel and on the other side secures data (e.g. the value of elements in an xml file or the values in a property file).
  • Document model: The document model describes the core documents used in OpenTMS. Basically this is based on XLIFF and TMX. The document model also could be seen as part of the data model but due to the importance of documents as one of the core output produced by the translation and localization process they are modeled separately.
  • Process model: This model implements the functions (combined finally into applications – see application model) of the OpenTMS, e.g. a converter or a translation memory search.
  • User model: This model realizes the user and its representation in the OpenTMS. The user model works in tight connection with the security. User does now only imply human users, but also other processes. User models have rights attached to them which in turn support the security model of OpenTMS.
  • Data model: Basically this model implements the database side of OpenTMS. It uses a generalized database model, called data sources. Data sources are any kind of storage media for data, starting from plain text files towards SQL and other types of databases.
  • GUI model: This model specifies editors and other functionality which requires a GUI. The GUI model is not further detailed in the architecture specification here. The GUI model should be defined in a separate document.
  • Interface model: The model describes how to extend OpenTMS with new models. The Interface model is an abstract model and needs further inspection. An example of such an extension is the interface to CMS systems. Interface models are also of quite importance as they serve as the connection to other applications (e.g. Web servers, CMS systems) and in general to scripting languages like Perl, PHP etc.
  • Application Model: This model realizes programs, which performs tasks like translation etc.

On top of those models the application model organises real applications (like the GUI model). openTMS uses a data source in the data model which organises the access to databases or any other kind of devices which allows to store (TM, terminology, even machine translation) data. Currently the following data sources are supported: TMX files, XLIFF file, SQL databases. Data sources have to implement a set of methods based on the data source interface.

openTMS can be accesses as directly through Java or through an XML-RPC server.

The architecture description can be found here: [openTMS Architecture]
Citation: Waldhör, K., 2008. OPENTMS SOFTWARE ARCHITECTURE, Roßtal, 29 August 2008.


openTMS was initiated by the Forum Open Language Tools (FOLT) is a forum and working group of service providers in the field of translation and documentation. Basic objectives of FOLT are the support of standardised exchange formats, non-proprietary software and trialling new translation technologies and methods. We are concerned with the overall workflow of multi-lingual documentation. From generation of the original text to production of texts in the target languages, highlighting any defects or lack of standards in the processes.

Software Requirements[edit]

openTMS is implemented in Java. It requires Java >=1.5 (Linux, Mac OS X, Microsoft Windows). openTMS uses the EPL (Eclipse Public License) license.


openTMS is hosted as a sourceforge project here: [openTMS on sourceforge]

There are several downloads available:

  1. A VM for Sun VirtualBox is hosted here: [openTMS]. This download also contains a php based Web Graphical user interface.
  2. A Windows installer (containing the XML-RPC server) is hosted here: [openTMS Windows Installer]
  3. A version integrated in the Araya XLIFF Editor can be found here: [Araya XLIFF Editor with openTMS plugin Windows Installer]