# HG changeset patch # User FUJIWARA Katsunori # Date 1392457239 -32400 # Node ID 6afbfb9b1af14836532aee9f81c06f6fbd6d5451 # Parent 410c80539c5c2fdf41f5d451730c55c7641cb9ca i18n: check equality of initial indentation between msgid and msgstr Document generation by runrst in "doc" directory may succeed silently, even though initial indentation is different between msgid and msgstr: for example, it may be unexpected or missing indentation. This patch adds the checker to check equality of initial indentation between msgid and msgstr. This checker is categorized as "warning" level, because problem detected by this is not so serious for usual Mercurial usage. diff -r 410c80539c5c -r 6afbfb9b1af1 i18n/check-translation.py --- a/i18n/check-translation.py Sat Feb 15 18:40:39 2014 +0900 +++ b/i18n/check-translation.py Sat Feb 15 18:40:39 2014 +0900 @@ -88,6 +88,24 @@ if pe.msgid.endswith('::') != pe.msgstr.endswith('::'): yield "tail '::'-ness differs between msgid and msgstr" +@warningchecker() +def indentation(pe): + """Check equality of initial indentation between msgid and msgstr + + This may report unexpected warning, because this doesn't aware + the syntax of rst document and the context of msgstr. + + >>> pe = polib.POEntry( + ... msgid =' indented text', + ... msgstr=' narrowed indentation') + >>> for e in indentation(pe): print e + initial indentation width differs betweeen msgid and msgstr + """ + idindent = len(pe.msgid) - len(pe.msgid.lstrip()) + strindent = len(pe.msgstr) - len(pe.msgstr.lstrip()) + if idindent != strindent: + yield "initial indentation width differs betweeen msgid and msgstr" + #################### def check(pofile, fatal=True, warning=False):