Patches to OmegaT 5.x
Actually, OmegaT has an API enabling to write machine translation plugins, but nothing for translation memories (i.e. what appears in matches pane). In version 4.1 is added the possibility to support bilingual formats as alternatives to TMX, but nothing to make possible to call a server for translation memories.
But our Cyclotis project appears as translation memory in other CAT tools, so we think that make it appear as machine translation would not be a good idea (more details here). So, we needed to patch OmegaT to introduce new API.
What you can download here is a modified version of OmegaT 4.3 (the last stable branch) 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 separated each feature in a dedicated patch, added samples when possible, and 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 for developers of OmegaT : you should have a look to your RFE #296: our patches can be a start point to implement what is described in it. The main difference is that we have several APIs depending on which part of the project you want to share (project memory, TMX files, glossaries) while in the RFE it is not clear whenever it is only about TMX files or about project memory as well. Contrarily to what is written in the RFE, a database can do fast fuzzy searches if it can be done using indexes. That is the concept of Cyclotis project.
Documentation about how to write new plugins is here
New: a new release of the API, which should give better performances, but except of that has the same behavior, is proposed for experimentation.
- Source version contains the patches (in Git format) based on last trunk version (actually 5.7.0 unpublished). You will need a clone of Omega-T's Git repository to apply them. Today (2021-10-07) they are compatible with current trunk and last published tag (5.6.0).
- Binary version contains the compiled version with all patches applied (based on version 4.3.2), and also the Cyclotis plugin, and some sample files to show you how to use the plugin.