Table of Contents
Welcome to the Little CAT Tools Wiki
This repository is simply a collection of small, but hopefully useful scripts, used to make working with various CAT tool-related files easier.
At the same time, it also constitutes a learning space for my programming journey, with this wiki serving to chronicle that journey.
While I am merely a dabbler, I have made an effort to follow best practices within the limits of my understanding. I hope that this repository can serve the secondary purpose of demonstrating the usefulness of even minimal programming knowledge to other translators (or anyone else with a background in languages or the humanities), and both inspire and help them on their own journeys.
Background
A number of years ago, I managed to gradually introduce OmegaT in my workplace and slowly wean my fellow translators away from the primitive approach of typing translations directly over the text in a copy of the original file sent by the customer to using a computer-assisted translation (CAT) tool.
The change in workflow resulting from the use of OmegaT eventually resulted in opportunities to automate some of the pre- or post-processing tasks needed to make efficient use of CAT.
My first scripts and macros (described here for the curious) centered around highly specific tasks for jobs with a narrow focus. Over time, however, I also wrote a few scripts with potentially more general applicability. They tended to be written linearly, with user names or similar information hardcoded into the scripts, and a lot of duplicate code copied and pasted from one script to another (most notably the code to bring up a dialog to select a file or folder).
Essentially, the scripts were cobbled together in a hurry to address an immediate need, with the intention of going back and cleaning them up "when I had time".
Unfortunately, a change in management and organizational structure then imposed the replacement of OmegaT with memoQ on us before I ever found the time to do so. (The forced transition ended up inspiring an additional script, though).
The scripts then went into limbo, half-forgotten for a few years. However, I remained interested in programming, and have been attempting to extend my (meagre) skillset to Java by joining a (very) casual group of people interested in exploring the OmegaT code.
I still prefer OmegaT as a CAT tool, and find myself wishing I could go back to it at work on a daily basis, and still occasionally use it for personal purposes at home.
I therefore decided to go back to the concepts behind those scripts and challenge myself to completely rewrite them from scratch as more general-purpose scripts, and make them available to others.
An Ongoing Journey…
I hope to build on the initial foundation represented by this repository and wiki in the following ways:
-
At the code level:
- Follow-up on the potential todo items listed in the scripts to further improve them.
- Write other little tools, not necessarily limited to targeting OmegaT, that can help translators with various pre- or post-translation tasks.
-
At the wiki level:
- Write documentation describing the requirements and usage of the individual scripts.
- Add detailed explanations of each script describing the chosen approach and its reasoning, as well as how it works, for the dual purposes of consolidating my own knowledge and, hopefully, helping other translators trying to learn how to code who stumble on this repository.