Pato05
2a5a51e43f
fix lyrics add right click action to AlbumCard add desktop file script for linux automated tarball creation for linux don't preload old queue
68 lines
1.7 KiB
Python
68 lines
1.7 KiB
Python
import zipfile
|
|
import json
|
|
import os
|
|
|
|
lang_crowdin = {
|
|
'ar': 'ar_ar',
|
|
'bg': 'bul_bg',
|
|
'ast': 'ast_es',
|
|
'de': 'de_de',
|
|
'el': 'el_gr',
|
|
'es-ES': 'es_es',
|
|
'fa': 'fa_ir',
|
|
'fil': 'fil_ph',
|
|
'fr': 'fr_fr',
|
|
'he': 'he_il',
|
|
'hr': 'hr_hr',
|
|
'id': 'id_id',
|
|
'it': 'it_id',
|
|
'ko': 'ko_ko',
|
|
'pt-BR': 'pt_br',
|
|
'ro': 'ro_ro',
|
|
'ru': 'ru_ru',
|
|
'tr': 'tr_tr',
|
|
'pl': 'pl_pl',
|
|
'uk': 'uk_ua',
|
|
'hu': 'hu_hu',
|
|
'ur-PK': 'ur_pk',
|
|
'hi': 'hi_in',
|
|
'sk': 'sk_sk',
|
|
'cs': 'cs_cz',
|
|
'vi': 'vi_vi',
|
|
'uwu': 'uwu_uwu',
|
|
'nl': 'nl_NL',
|
|
'sl': 'sl_SL',
|
|
'zh-CN': 'zh-CN'
|
|
}
|
|
|
|
def generate_dart():
|
|
out = {}
|
|
with zipfile.ZipFile('translations.zip') as zip:
|
|
for file in zip.namelist():
|
|
if 'freezer.json' in file:
|
|
data = zip.open(file).read()
|
|
lang = file.split('/')[0]
|
|
out[lang_crowdin[lang]] = json.loads(data)
|
|
|
|
with open('../lib/languages/crowdin.dart', 'w') as f:
|
|
data = json.dumps(out, ensure_ascii=False).replace('$', '\\$')
|
|
out = f'const crowdin = {data};'
|
|
f.write(out)
|
|
|
|
def dart_to_json():
|
|
with open('../lib/languages/crowdin.dart', 'r') as f:
|
|
content = f.read()
|
|
a = content[len('const crowdin = '):-1].replace('\\$', '$')
|
|
translation_map = json.loads(a)
|
|
for lang in translation_map:
|
|
lang_ = list(lang_crowdin.keys())[list(lang_crowdin.values()).index(lang)]
|
|
os.mkdir(f'exp/{lang_}')
|
|
with open(f'exp/{lang_}/freezer.json', 'w') as f:
|
|
f.write(json.dumps(translation_map[lang]))
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
dart_to_json()
|
|
# generate_dart()
|