add language helpers
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
|
||||
from scripts.utils.helpers import MODEL_PATH, save_language
|
||||
|
||||
|
||||
def get_labels(model, language=None):
|
||||
postfix = '' if language is None else f'_{language}'
|
||||
file_name = os.path.join(MODEL_PATH, f'labels_{model}/labels{postfix}.txt')
|
||||
with open(file_name) as f:
|
||||
ret = [line.strip() for line in f.readlines()]
|
||||
return ret
|
||||
|
||||
|
||||
def as_dict(labels, den="_", key=0, value=1):
|
||||
return {label.split(den)[key]: label.split(den)[value] for label in labels}
|
||||
|
||||
|
||||
def create_language(language):
|
||||
en_l18n = as_dict(get_labels('l18n', 'en'))
|
||||
l18n = as_dict(get_labels('l18n', language))
|
||||
new_language = as_dict(get_labels('nm', language))
|
||||
|
||||
for sci_name, com_name in l18n.items():
|
||||
if sci_name not in new_language or new_language[sci_name] == sci_name:
|
||||
new_language[sci_name] = com_name
|
||||
continue
|
||||
|
||||
# now check if the l18n version is translated
|
||||
if com_name != new_language[sci_name] and new_language[sci_name] == en_l18n[sci_name]:
|
||||
print(f'changing {new_language[sci_name]} -> {com_name}')
|
||||
new_language[sci_name] = com_name
|
||||
|
||||
save_language(new_language, language)
|
||||
|
||||
|
||||
def create_all_languages():
|
||||
languages = ['af', 'ar', 'ca', 'cs', 'da', 'de', 'en', 'es', 'et', 'fi', 'fr', 'hr', 'hu', 'id', 'is', 'it', 'ja',
|
||||
'ko', 'lt', 'lv', 'nl', 'no', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'th', 'tr', 'uk', 'zh']
|
||||
for language in languages:
|
||||
create_language(language)
|
||||
Reference in New Issue
Block a user