62 lines
1.3 KiB
Python
Executable File
62 lines
1.3 KiB
Python
Executable File
#!/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([''])
|
|
|
|
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)
|