BobStore/app/tools/langs-list-check.py
Peter Serwylo c3b8134be7 Update langs-list-check
Was failing with `sw720dp-v21` directory that contained a `dimens.xml`
file. Also sorted output to make it easier to compare while here.
2017-03-08 10:34:23 +11:00

64 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python3
# 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('src', 'main', '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('src', 'main', 'res', 'values-*')):
lang = d[len(os.path.join('src', 'main', 'res', 'values-')):]
if not lang:
continue
if re.match('^sw[0-9]+dp|v[0-9]+$', lang):
continue
if lang == 'ldrtl':
continue
if os.path.islink(d):
continue
trans.add(lang)
print("In the settings array: %s" % ' '.join(sorted(prefs)))
print("Actually translated: %s" % ' '.join(sorted(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)