Cyclotis for OmegaT (memory mode) in 5 minutes

This article tries to show you what Cyclotis is, from the point of view of an OmegaT user. This is a demonstration in an environment where all is already installed: then, if you are interested, another article will give you the occasion to do a real test.

This article has been made using patched OmegaT, which you can download here, including the plgugin. Currently, standard OmegaT is not compatible with this plugin. You can do the same using DGT-OmegaT, which also includes plugin for Cyclotis.

This article is about translation memory sharing. Cyclotis can also be used as project memory sharing, for which there is this other tutorial instead.

An article about our project has been written in english and we want to translate it in french. Due to the emergency we want to divide it between two translators.

First thing to do is to create the OmegaT project and to send a copy to both translators. Do it simply as you use to do with OmegaT. Even when using Cyclotis, the translation remains local : Cyclotis ensures synchronisation but it is not a CAT tool.

You must also create a Cyclotis memory. For that you can use our server, or try to install a new one. In both cases at a moment the server will give you a file in Java properties format: take this file and copy it in the /tm folder (not in omegat folder, which would be for project mode!) of each copy of the project : that's it, now if you reload the project, the presence of this file implies connection to the memory.

In this mode the translators are basically sharing a translation memory (like a TMX, except that it is outside each translator’s PC and can be in Read/Write mode).
All features available for TMX files are valid for this memory; the differences are that the segments you receive (in the matches pane as well as in tm/auto or in search screens) come from a server and you are sure to receive the most recent changes, even segments validated one second ago! And also if you activate write mode, all segments you translate are sent to the server and immediately available for people connected to same memory!

In this example, a segment was found in TeamBase which has a 66% match to the current one. So, it appears in the Fuzzy Matches pane, as if it comes from a TMX file. The only difference is that it shows "Teambase - Article" (name of the engine then the name of the memory) in the location where it should else have displayed the name of a TMX file.
But what happens if there is a 100% match in the memory?

The result is the same: a score of 100% is displayed, but that's all – translation memories, such as TMX files or TeamBase in Memory Mode, are only given as information, they are not part of the project memory. That is the difference in Project Mode: a segment translated by one translator is equivalent to a segment translated by another translator.
However, it may happen that, when a translator opens a segment, OmegaT automatically inserts something in it. In this case it means that the "Insert the best fuzzy match" is activated in the Editor behaviour menu. So yes, there can be an automatic insertion, but if there is, it would be due to configuration of OmegaT, not of Cyclotis itself.

But what happens now if Translator 1 validates this segment?
In Project Mode, OmegaT would apply the same rule as for project-save.tmx: either it is a default translation and it is replaced, or the translator creates an alternative translation, and unless the context (previous/next segments) is the same, both are kept by the server.
In Memory Mode, things are not so strict and there are several options. The translator can choose to:

  • Keep all entries: each segment is added to the server, even if a segment with identical source already existed
  • Keep only last one: if a segment existed with the same source (strictly, including tags) then the new segment replaces the previous one
  • Keep one entry per author: if the translator submits a segment which (s)he has already translated, the server will replace it; but if it was associated to another author, then both are kept. This is the option generally preferred inside DGT and which is configured by default in the Wizard
  • Keep one entry per context: as in the Project Mode

This must be chosen when the TeamBase memory is created and cannot be changed later. But you are not required to use the same logic for all memories in the same server.

When should we use memory mode?

Memory Mode is useful when users are not really working on the same project, but on similar ones (two documents on the same subject, for example), as the Project Mode absolutely requires 100% matches.

On the other hand, if both translators have the same document in the source folder and decide that each translator has his own part to translate, then Memory Mode is not appropriate, due to the fact that it does not do auto-insertion in non-visited segments and features such as "generate translated documents" will produce the other part in the original language.

Memory Mode is also useful if a translator working with OmegaT wants to share his/her work with others who are using SDL Trados Studio: due to differences in the way both tools store their context, their tags or their segmentation, there will be less 100% matches and more partial matches (even if the document to be translated is the same) compared to a full OmegaT setup in which all translators are working with DGT-OmegaT, so Project Mode cannot work in an heterogeneous environment. Concordance in this multi-tool setup will not be affected as long as tags are avoided in searches.

Memory Mode also supports the notion of Inheritance, as in object-oriented programming. For example, let's say that the translator created a memory named "Agriculture" to share it with all translators working on projects on this subject. But at a certain point, some translators thought that the theme was too general and created another memory named "Cereal".
With Inheritance, when a project is connected to "Cereal", all the segments are sent to this specific database, but translators connected to other children of "Agriculture", for example "Meat", will also see, if they activated Inheritance, all the segments from "Agriculture" and all children, without writing anything to them.

A general thing to remember is that, in TeamBase, more than one Memory Mode can be used in the same project simultaneously with one Teambase in the Project Mode. The only thing that must be avoided is to connect simultaneously in Project Mode and Memory Mode to the same TeamBase memory.

Add new comment