OmegaT is just an excellent translation tool, but there’s still some room for improvement when it comes to using it for revising translated materials. I really hope that in future what I’m about to present in this post will become completely obsolete, but for now it might be welcomed by people who needed to mark segments with different status markers.
A big shout-out goes to Marc Prior for coming up with the idea and backing up the development.
So, presently one work-around that allows you to mark different segments as having different status is to use Notes pane. It’s workable, but it slows you down as you need to break one hand from the keyboard, grab the mouse, click inside the Notes, type status marker, grab the mouse again, click in the Editor pane, and keep on translating/editing. Of course, you can use Tab/Ctrl+Tab (Shift+Tab/Ctrl+Shift+Tab) or F6 to switch to different panes, but unless you remember how many keystrokes away Notes pane is from the Editor, you have to watch closely which one gets the focus. Besides, you have to come up with a convention as to how to mark those statuses, and to stick to it, i. e. keep in constantly in mind.
The script presented in this post allows you to insert a status marker into the segment’s note without focusing Notes pane. But default, the script comes with three status markers: <status:draft>, <status:needs-revision>, and <status:approved>. Each time the script is invoked, it either inserts the first status marker if there wasn’t one before, or changes it to the next, or removes it after the last one. If the note already contains some text, the status marker is inserted above it. So the user has to install the script, assign a shortcut to it (read here if you need to know how to do that), and then change segment status in cycle by simply pressing the shortcut as many times as needed.
When the script is run for the very first time ever, it creates a file named
status.ini in the OmegaT configuration folder. It’s a plain text file with one status marker per line. It can contain as many status markers as needed, and each time the script is run, it checks this file and grabs actual status markers from it. The format of the marker is completely arbitrary as long as it’s only one line of text, it doesn’t have to be <status:something>. If
status.ini is copied to
.ini subfolder might need to be created manually), it will be used instead the one in configuration folder. If neither file is found when the script is run, the default one will be recreated.
The script can be downloaded from SF.net repository. Make sure to use both
status_in_notes.properties, otherwise the script won’t work.
Ideas and comment are always welcome.
Thanks, Kos! This looks like a great workaround to the lack of segment status markers in OmegaT, so badly needed for reviewing tasks. I guess the reviewer can run a search on the notes and filter to see only segments with any status that needs attention (under approved, for example). From my perspective, this script would be even more useful if the user didn’t have to learn and use a new long shortcut, but if it could be linked to an existing shortcut. For example, for a reviewing task, where all segments are already translated, shortcut Ctrl+U is no longer useful. However, it would be made useful if we could associate to it the following functionality, when pressed:
1. Assign next status to the segment
2. Move to the next segment (= Enter)