Hi everyone, During the italian translation of Mailman I've done many typo errors which, in the worst case, caused Mailman misbehaving. I think the real problem is that I couldn't find any editor or tool which does the following checks: - when translating a text template, if a given %s or %(var)s is in the original file it probably should appear the same number of times in the translated text. - in the translated text you shouldn't have a %(var)s if that %(var)s wasn't in the original text. - when translating an html template, the same concept should apply for <MM-*> tags. - when translating the .po file, the same concept should apply for each msgid/msgstr pair. So, to easy the process, I've written a small script to check my translation whenever I do some update. This script has been generalized and now you can use it for your language too. Just for an overview of how much the tool can be effective, this simple bash script: ----------------------------------------------- for i in big5 cs de es fi fr hu it ja ko no ru; do echo -ne "$i:\t"; transcheck -q $i; done ----------------------------------------------- applied to the last Mailman-CVS has reported: big5: 33 warnings in 9 files cs: 192 warnings in 3 files de: 136 warnings in 6 files es: 115 warnings in 12 files fi: 312 warnings in 6 files fr: 58 warnings in 4 files hu: 105 warnings in 6 files it: 1 warnings in 1 files ja: 182 warnings in 3 files ko: 231 warnings in 8 files no: 30 warnings in 3 files ru: 341 warnings in 13 files Before using my script, the italian translation counted about 70 warnings. The one still counted actually is not an error: a %(var)s appears two times in the original english text but in italian we have intentionally only one. Using the script without the -q switch, you can see a detailed report. The script isn't perferct and can be improved in many ways: - better regexp to search for Python %(var)s - better .po parser - better exception handling for strange situation - generalizations to use it in other python projects but it's already good (at least for italian). Feel free to use it and to report any feedback. Cheers, Simone -- Simone Piunno, FerraraLUG - http://members.ferrara.linux.it/pioppo