scripts: fix make-language-lists for non-languagelist languages

Fixes #885
This commit is contained in:
Dimitri John Ledkov 2021-02-04 14:39:54 +00:00
parent e813726aaa
commit bb98d57fa0
No known key found for this signature in database
GPG Key ID: 9B8EC849D5EF70ED
1 changed files with 9 additions and 1 deletions

View File

@ -8,6 +8,8 @@ import sys
DATA_PATH = '/usr/share/localechooser/languagelist.data.gz' DATA_PATH = '/usr/share/localechooser/languagelist.data.gz'
JSON_CODES = '/usr/share/iso-codes/json/iso_639-3.json'
lang_dir = 'po' lang_dir = 'po'
if len(sys.argv) > 1: if len(sys.argv) > 1:
lang_dir = sys.argv[1] lang_dir = sys.argv[1]
@ -57,7 +59,13 @@ with gzip.open(DATA_PATH, mode='rt') as data:
translations.remove(code) translations.remove(code)
for code in translations: for code in translations:
if gettext.find('iso_639_3', languages=[code]): name = None
import json
langcodes = json.load(open(JSON_CODES))["639-3"]
for lang in langcodes:
if lang.get("alpha_2") == code:
name = lang.get("name")
if name and gettext.find('iso_639_3', languages=[code]):
native_lang = gettext.translation('iso_639_3', languages=[code]) native_lang = gettext.translation('iso_639_3', languages=[code])
native = native_lang.gettext(name).capitalize() native = native_lang.gettext(name).capitalize()
langs.append(('ssh', code, native)) langs.append(('ssh', code, native))