mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2025-06-19 23:51:01 +00:00
Update locales
This commit is contained in:
parent
f4d34f05a6
commit
771c3d84cc
59 changed files with 15192 additions and 6212 deletions
|
@ -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)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue