Update locales

This commit is contained in:
Piero Toffanin 2024-08-08 13:28:40 -04:00
parent f4d34f05a6
commit 771c3d84cc
59 changed files with 15192 additions and 6212 deletions

View file

@ -9,11 +9,12 @@ import re
import polib
from babel.messages.frontend import main as pybabel
from flask_swagger import swagger
from translatehtml import translate_html
from libretranslate.app import create_app, get_version
from libretranslate.language import improve_translation_formatting, load_languages
from libretranslate.locales import get_available_locale_codes, swag_eval
from libretranslate.main import get_args
from translatehtml import translate_html
# Update strings
if __name__ == "__main__":
@ -61,7 +62,11 @@ if __name__ == "__main__":
"-o", messagespot, "libretranslate"]
pybabel()
lang_codes = [l.code for l in languages if l.code != "en"]
lang_map = {
'zt': 'zh_Hant'
}
lang_codes = [lang_map.get(l.code, l.code) for l in languages if l.code != "en"]
review_map = {}
# Init/update
for l in lang_codes:
@ -69,17 +74,23 @@ if __name__ == "__main__":
if os.path.isdir(os.path.join(locales_dir, l, "LC_MESSAGES")):
cmd = "update"
sys.argv = ["", cmd, "-i", messagespot, "-d", locales_dir, "-l", l]
sys.argv = ["", cmd, "-i", messagespot, "-d", locales_dir, "-l", l] + (["--no-fuzzy-matching"] if cmd == "update" else [])
pybabel()
meta_file = os.path.join(locales_dir, l, "meta.json")
reviewed = False
if not os.path.isfile(meta_file):
with open(meta_file, 'w') as f:
f.write(json.dumps({
'name': next(lang.name for lang in languages if lang.code == l),
'name': next(lang.name for lang in languages if lang_map.get(lang.code, lang.code) == l),
'reviewed': False
}, indent=4))
print("Wrote %s" % meta_file)
else:
with open(meta_file) as f:
reviewed = json.loads(f.read()).get('reviewed', False)
review_map[l] = reviewed
# Automatically translate strings with libretranslate
# when a language model is available and a string is empty
@ -89,6 +100,9 @@ if __name__ == "__main__":
for locale in locales:
if locale == 'en':
continue
if review_map.get(locale):
# Don't automatically translate reviewed languages
continue
tgt_lang = next((l for l in languages if l.code == locale), None)