Update warnings for inconsistency reference translations. Thanks @jonwaltman!

This commit is contained in:
Takayuki Shimizukawa
2012-12-07 16:38:21 +09:00
parent bfe96c14a7
commit 21355d3249
2 changed files with 11 additions and 9 deletions

View File

@@ -234,9 +234,8 @@ class Locale(Transform):
old_foot_refs = node.traverse(is_autonumber_footnote_ref)
new_foot_refs = patch.traverse(is_autonumber_footnote_ref)
if len(old_foot_refs) != len(new_foot_refs):
env.warn_node('The number of reference are inconsistent '
'in both the translated form and the '
'untranslated form. skip translation.', node)
env.warn_node('inconsistent footnote references in '
'translated message', node)
for old, new in zip(old_foot_refs, new_foot_refs):
new['ids'] = old['ids']
self.document.autofootnote_refs.remove(old)
@@ -253,9 +252,8 @@ class Locale(Transform):
new_refs = patch.traverse(is_refnamed_ref)
applied_refname_map = {}
if len(old_refs) != len(new_refs):
env.warn_node('The number of reference are inconsistent '
'in both the translated form and the '
'untranslated form. skip translation.', node)
env.warn_node('inconsistent references in '
'translated message', node)
for new in new_refs:
if new['refname'] in applied_refname_map:
# 2nd appearance of the reference
@@ -1813,4 +1811,3 @@ class BuildEnvironment:
if 'orphan' in self.metadata[docname]:
continue
self.warn(docname, 'document isn\'t included in any toctree')

View File

@@ -120,8 +120,13 @@ def test_i18n_warn_for_number_of_references_inconsistency(app):
assert result == expect
warnings = warnfile.getvalue().replace(os.sep, '/')
expected_warning_expr = "i18n/refs_inconsistency.txt:\d+: WARNING: The number of reference are inconsistent in both the translated form and the untranslated form. skip translation."
assert len(re.findall(expected_warning_expr, warnings)) == 3
warning_fmt = u'.*/i18n/refs_inconsistency.txt:\\d+: ' \
u'WARNING: inconsistent %s in translated message\n'
expected_warning_expr = (
warning_fmt % 'footnote references' +
warning_fmt % 'references' +
warning_fmt % 'references')
assert re.search(expected_warning_expr, warnings)
@with_app(buildername='html', cleanenv=True,