#!/usr/bin/python # encoding: utf-8 import re, sys, polib if len(sys.argv)==1: print 'Usage: filename' sys.exit(0) else: filename = sys.argv[1] # Open file po = polib.pofile(filename) for e in po: msgid = getattr(e, 'msgid') msgstr = getattr(e, 'msgstr') if msgstr != "" and re.search('(?P[@%!][a-z_-]{1,}).', msgid): # Found a possible variable match = re.findall('(?P[@%!][a-z_-]{1,})', msgid) for i in match: if re.search('%s[^a-z]|%s$'%(i,i),msgstr): #print "%s is correct" % (i) pass else: print "" print 'Variable %s has been changed' % (i) print u"msgid → %s" % (msgid) print u"msgstr → %s" % (msgstr) print ""