Sometime ago my monkey approach to programming led me to creating a GUI for QA rules checking script. That was fun, the result was sometimes even usable, but since I don’t really know how to program, I got stuck with developing it. Ok, a rule or two was added now and then, but that doesn’t really count. But then all of a sudden the spellcheck script in OmegaT got drastically improved, and that meant I could mimic some new ideas. That’s exactly what I did, and here’s the new “QA – Check Rules” script:
- Checks in the current file by default, user can choose to check the whole project.
- Results can be refreshed, which eliminates the need to rerun the script while making corrections.
- Columns are now sortable, the default column by which the table is sorted is “Rule”, and not “Segment” as before.
- Rules are now given legible names.
- The title shows how many possible errors were found.
- Four new rules were added: checking for numerical inconsistencies, checking if the number of tags in source and target is the same, checking if spaces around the tags in source and in target are used consistently, and checking if the order of tags is the same in source and in target.
- Each rule can be enabled or disabled (all enabled by default).
- Everything in the script is now localizable. Everything! (Well, except for source segments, maybe.) Here’s the proof, check this out:
The script now ships with OmegaT by default (with even more checks), and therefore was removed from the OmegaT Scripts project repository.
I want to thank Piotr Kulik for creating a wonderful spellchecking script, as much of its functionality was used here. The huge thanks also goes to Roman Mironov and his translation agency Velior for faithfully being there to support my humble efforts in various ways.
If you happen to have ideas for other checks, please let me know, either here in comments, or at OmegaT Scripts SF.net project’s tracker.
But as of now,
Good luck, and God save Ukraine!
Very good job, Kos.
Now, the last and final check to add to this script (or maybe a separate script) is the terminology check (every segment checked against the glossary). I believe this to be very hard to develop, but I am sure you or someone else in the OmegaT Community will achieve it soon or later.