# HG changeset patch # User FUJIWARA Katsunori # Date 1446334736 -32400 # Node ID 47dd34f2e7272be9e3b2a5a83cd0d20be44293f4 # Parent 33894facc18022ce0297d6bbc4b416ecd0374882 i18n: look translation of both "DEPRECATED" and "(DEPRECATED)" up Since 44cc9f63a2f1, deprecated commands, options and so on are detected by "(DEPRECATED)" instead of "DEPRECATED". "hg.pot" generated from recent source files doesn't contain msgid "DEPRECATED", and looking the translation of "DEPRECATED" up in up-to-date *.po files works incorrectly. But on the other hand, there are still old *.po files, which contain msgid "DEPRECATED" but not "(DEPRECATED)". Looking the translation of "(DEPRECATED)" up in such old *.po files also works incorrectly. This patch resolves this problem by looking translation of both "DEPRECATED" and "(DEPRECATED)" up. This should work correctly, because previous patch makes "deprecated" checker be applied only on translations, of which msgid contains exact "(DEPRECATED)" string. 'p.msgstr' examination in 'deprecatedsetup()' is needed to ignore untranslated entries. This also makes 'deprecatedpe.msgstr' examination in 'deprecated()' meaningless. diff -r 33894facc180 -r 47dd34f2e727 i18n/check-translation.py --- a/i18n/check-translation.py Sun Nov 01 08:38:56 2015 +0900 +++ b/i18n/check-translation.py Sun Nov 01 08:38:56 2015 +0900 @@ -71,7 +71,9 @@ deprecatedpe = None @scanner() def deprecatedsetup(pofile): - pes = [p for p in pofile if p.msgid == 'DEPRECATED'] + pes = [p for p in pofile + if ((p.msgid == 'DEPRECATED' or p.msgid == '(DEPRECATED)') and + p.msgstr)] if len(pes): global deprecatedpe deprecatedpe = pes[0] @@ -108,7 +110,7 @@ >>> match(deprecated, pe) """ if not ('(DEPRECATED)' in pe.msgstr or - (deprecatedpe and deprecatedpe.msgstr and + (deprecatedpe and deprecatedpe.msgstr in pe.msgstr)): yield "msgstr inconsistently translated (DEPRECATED)"