Automating Translation QA
There are various ways in which CATs (computer-aided translation tools) provide more automation for quality control. Some of that can be reused for automated quality control of OOo translations.
Support in translation tools
Tools such as Alchemy Catalyst support checking if there are duplicate mnemonics for UI elements. Implementing such a function in a translation tool such as Open Language Tools doesn't seem difficult as it is possible to encode all the required parameters in the XLIFF format. Additional checks that can be done using CATs are:
- Checking for completeness of numbers & tag translation (Are numbers transfered to target? Are numbers in the correct format? Is the number, order and/or type of tags unchanged?)
- Checking for blacklisted keywords (like checking for "Package Manager" after changing the terminology to "Extension Manager)
- Terminology check using an approved glossary (This could discover simple omissions, like omitting keystroke names in the translation, i.e., for the translation of a sentence in English with "Ctrl-F4", the string "Ctrl-F4" must occur also in the Polish target, and consistency problems as well)
- Style, grammar-checking (for controlled vocabulary, punctuation etc.)
Note that agreeing on a single translation tool and standard translation format (XLIFF) and shared translation memory format would be an additional advantage.
Currently available to the OOo community
Currently many QA features are already available to the OOo l10n community. Pootle has many quality tests available in the web front-end used for the management of translations. These tests (and a few more) are also available for off-line use with the tool pofilter which are documented in the documentation of the Translate Toolkit here:
Some of the tests include functionality to test for technical mistakes (XML markup, variables, accelerators) or stylistic/visual errors (capitalisation, punctuation, spacing, etc.). Many tests are also customised to be language aware, such as capitalisation that might not be relevant in all languages. All failures of gsicheck should also be reported by Pootle and pofilter.
Another offline tool for translation QA is poconflicts. This tool allows the user to search for conflicting translations of the same text, or for cases where different source strings were translated in the same way.
For advanced searching through the translation files pogrep can be used. It allows powerful searches through translation files, allowing the user to specify where to search (source text, target text, comments, location of the translation). It also has support for regular expressions, and can optionally ignore the accelerator character (~).
Support in testtool scripts
The automated scripts in testtool can and probably should duplicate some of the functionalities covered by CATs, especially mnemonics uniqueness check, and probably other checks as well.
A spell-check (using OOo spelling dictionary for the build language) of the translation could discover possible encoding problems. This could be automated as well.
Support in standalone tools
Some specialised tests can be developed using standalone grammar checkers like LanguageTool that can be customized for many of Sun-supported languages and others.