From edbe7ad1be0a52dd4220f65d1ac98163a0a1b774 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 3 Apr 2024 18:08:52 +0200 Subject: autogenerate japanese translation --- client-web/scripts/translate.py | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) (limited to 'client-web/scripts/translate.py') diff --git a/client-web/scripts/translate.py b/client-web/scripts/translate.py index 8e7de0c..2f45446 100644 --- a/client-web/scripts/translate.py +++ b/client-web/scripts/translate.py @@ -2,21 +2,30 @@ import json import sys from argostranslate import translate -srclang = "en" -dstlang = sys.argv[1] +for line in sys.stdin: + task = json.loads(line) + srclang = task["source"] + dstlang = task["target"] -installed_languages = { lang.code: lang for lang in translate.load_installed_languages() } -if srclang not in installed_languages: - raise Exception(f"need language {srclang}") -if dstlang not in installed_languages: - raise Exception(f"need language {dstlang}") -srclang = installed_languages[srclang] -dstlang = installed_languages[dstlang] -translator = srclang.get_translation(dstlang) -if translator is None: - raise Exception("no translator available") + installed_languages = { lang.code: lang for lang in translate.load_installed_languages() } + if srclang not in installed_languages: + raise Exception(f"need language {srclang}") + if dstlang not in installed_languages: + raise Exception(f"need language {dstlang}") + srclang = installed_languages[srclang] + dstlang = installed_languages[dstlang] + translator = srclang.get_translation(dstlang) + if translator is None: + raise Exception("no translator available") -print(json.loads("".join(sys.stdin))) + def tr(key, ob): + if ob == None: return None + if isinstance(ob, list): return [ tr(None,e) for e in ob ] + if isinstance(ob, dict): return { k: tr(k,v) for k, v in ob.items() } + if isinstance(ob, str): + print(f"{srclang.code}->{dstlang.code} {key}", file=sys.stderr) + return translator.translate(ob) + + print(json.dumps(tr("root", task["strings"]))) -print(translator.translate("Hello world")) -- cgit v1.2.3-70-g09d2