While we have many feuds with TRADOS, we are the first to acknowledge that it comes with a great and flexible API. Not only did it enable bringing MultiAnalyze to life back in 2007, but it also gave us a jolt to widen the scope of the potential applications.
The degree of sophistication of our localization partner, mentioned previously in our post about MultiAnalyze, necessitated the implementation of customized quality assurance methods and a considerable amount of language engineering. Reinventing the wheel can be all the rage, but not very productive; fortunately for us in this case, however, the tools available at the time did not accommodate our partner’s specific needs, and we were happy to take the scenic route.
The particular issue we had to find a solution for included identifying, marking-up, localizing, and checking all the UI references and terminology in Trados with 100% precision and congruency. The content usually consisted of pedestrian xml files, which we processed by building custom DTDs for TagEditor. Although the material at this point was localization-ready, the built-in QA plugins were still far from perfect, and missing key features.
In spite of the inadequacy of the out-of-the-box filters, Trados allowed third party plugins via custom QA Message Filters, integrating seamlessly with the environment. We have benefited from this extensibility feature and we practically wrote our own targeted QA plugin.
Using terms tracked in the documents by tags (for example <term>foobar</term>), we created a custom QA Message Filter in C# capitalising on the mark-up structure, and made sure that proper punctuation and syntax was used before and after tags. When the default Trados QA was run, any additional discrepancies found by the plugin were added to the result cue, providing a quick fix that is only a click away.
In our next posts we will get cracking on regular expressions, as promised a couple of posts ago, and explore Microsoft OpenXML format localization in depth.