kopia lustrzana https://github.com/wagtail/wagtail
23 wiersze
820 B
Python
23 wiersze
820 B
Python
|
import re
|
||
|
|
||
|
from pathlib import Path
|
||
|
|
||
|
import polib
|
||
|
|
||
|
|
||
|
placeholder_regexp = re.compile(r'\{[^\}]*?\}')
|
||
|
|
||
|
for path in Path(__file__).parent.resolve().parent.rglob('LC_MESSAGES/*.po'):
|
||
|
po = polib.pofile(path)
|
||
|
for entry in po:
|
||
|
if not entry.msgstr:
|
||
|
continue # ignore untranslated strings
|
||
|
|
||
|
expected_placeholders = set(placeholder_regexp.findall(entry.msgid))
|
||
|
actual_placeholders = set(placeholder_regexp.findall(entry.msgstr))
|
||
|
if expected_placeholders != actual_placeholders:
|
||
|
print("Invalid string at %s line %d:" % (path, entry.linenum))
|
||
|
print("\toriginal string %r has placeholders: %r" % (entry.msgid, expected_placeholders))
|
||
|
print("\ttranslated string %r has placeholders: %r" % (entry.msgstr, actual_placeholders))
|
||
|
print()
|