Patches to OmegaT

This is a modified version of OmegaT 3.6 which can accept new plugin types. All Cyclotis plugins use one of the following types. This is not a fork : we strongly hope that the patches will be accepted by OmegaT development team. To make easier for them to test these new features, we divided it into 3 groups. In theory, each group is independent (i.e. you can apply only group G, you can apply group G before group M or after, etc.) but patches inside a group must be applied in the correct order. In practice this is not true due to the fact that they modify the same files. The correct order is the one used in this document.

Note: this is an old version. More modern version works with OmegaT 4.3.2 and 5.4, and includes some more patches

  1. Translation memory plugins : A Translation Memory plugin is a provider, like for Machine Translation plugins, except that the result appears in "Matches" pane, rather than in "Machine Translation". Contrarily to Machine Translation, TM providers return typically more than one result, and as the source is not exactly the same as what you are translating (unless you have 100% match), it appears with a score in the list.
    Now, list of the patches:
    1. introduce the concept of translation memory plugins;
      as an example, a copy of the MyMemory plugin has been adapted to the new API, and we did not remove the previous one so that you can activate both and enjoy the difference.Look here for the reasons why to prefer to use a translation memory provider, rather than a machine translation one.
    2. introduce the possibility to use alternative file formats for translation memories; as an example, the patch contains a plugin enabling any bilingual source format (meaning actually, PO and Mozilla's .lang files) as a translation memory (simply put the file in the tm/ directory, and only translated segments will be loaded as a translation memory);
    3. introduce the concept of project-scope plugin instances (i.e. the plugin does not have only one instance, but one per database); instances are described as properties files which you put in the tm/ directory but this is not a file format because the file does not contain segments but parameters, usually to connect to a server; again MyMemory is taken as an example even if we are perfectly conscient that the example is not very good;
    4. introduce writeable translation memories;
      as an example we provide a support for the text memory format which is used by Anaphaseus and Wordfast;
  2. Project storage plugins
    1. introduce the concept of distant project save: instead of using project_save.tmx you have now the possibility to use an external provider. Contrarily to memory mode, you can have only one such instance in the project, and segments are necessarily saved using a context (segment number) : we do no more fuzzy searches but exact, contextual searches. Each time you go to a new segment, the project is refreshed (including other segments) asking to the provider : this minimizes the risk of conflict (when an other user edited another segment it erases previous version but this user could not ignore that there was something in the segment because there is no latency). The only potential problem is the case you are really editing the same segment at same time...
    2. provide the previous feature also for alternative languages (very useful if the translators of the same document in two different target languages work at same time), using the directory tmx2source. You can have one instance per target language.
    3. can use your running OmegaT GUI as a server for other translators, based on Java-RMI
  3. Glossary plugins
    1. implement project-scope plugins for glossary : using a properties file instead of a -D directive, you can add several instances of the same engine and this is only valid for the current project (for example if you have thematic glossaries, each project is connected to the thematics (not necessary only one) it is related to;
    2. implement writeable glossary plugin : now you can replace glossary.txt by a shared provider instance

Download:

  • Source version contains the patches (in Git format) based on OmegaT 3.6.0_10 (for more recent version, see here). You will need a clone of OmegaT's Git repository to apply them.
  • Binary version contains the compiled version with all patches applied, and also the plugin

Add new comment