#!/usr/bin/env python2 # List supported languages missing from the preference array import glob import os import sys import re from xml.etree import ElementTree prefs = set(['']) trans = set(['', 'en']) donottranslate = os.path.join('res', 'values', 'donottranslate.xml') for e in ElementTree.parse(donottranslate).getroot().findall('.//string-array'): if e.attrib['name'] != 'languageValues': continue for i in e.findall('.//item'): lang = i.text if not lang: continue prefs.add(lang) for d in glob.glob(os.path.join('res', 'values-*')): lang = d[len(os.path.join('res', 'values-')):] if not lang: continue if re.match('^v[0-9]+$', lang): continue if os.path.islink(d): continue trans.add(lang) print "In the settings array: %s" % ' '.join(prefs) print "Actually translated: %s" % ' '.join(trans) missing = [] for lang in trans: if lang not in prefs: missing.append(lang) if missing: print "Missing:" for lang in missing: print " %s" % lang extra = [] for lang in prefs: if lang not in trans: extra.append(lang) if extra: print "Extra:" for lang in extra: print " %s" % lang if not missing and not extra: print "All good." else: sys.exit(1)