aboutsummaryrefslogtreecommitdiff
path: root/client-web/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'client-web/scripts')
-rw-r--r--client-web/scripts/autogen_locale.ts28
-rw-r--r--client-web/scripts/translate.py22
2 files changed, 50 insertions, 0 deletions
diff --git a/client-web/scripts/autogen_locale.ts b/client-web/scripts/autogen_locale.ts
new file mode 100644
index 0000000..c2f3d5b
--- /dev/null
+++ b/client-web/scripts/autogen_locale.ts
@@ -0,0 +1,28 @@
+// deno-lint-ignore-file no-explicit-any
+import { LOCALES } from "../source/locale/mod.ts";
+
+const global_lc = "en-US"
+
+function traverse_object(target: any, current: any): any {
+ if (typeof target == "string") return target
+ const out = {} as any
+ for (const key in target) {
+ if (!current) {
+ out[key] = target[key]
+ } else {
+ if (key in current) continue
+ out[key] = traverse_object(target[key], current)
+ }
+ }
+ return out
+}
+
+const master = LOCALES[global_lc]
+for (const lc in LOCALES) {
+ if (lc == global_lc) continue
+ const k = JSON.stringify(traverse_object(master, LOCALES[lc]));
+ if (k.length <= 2) continue
+ console.log(
+ `New strings required in ${lc}:\n\t${k}`
+ );
+}
diff --git a/client-web/scripts/translate.py b/client-web/scripts/translate.py
new file mode 100644
index 0000000..8e7de0c
--- /dev/null
+++ b/client-web/scripts/translate.py
@@ -0,0 +1,22 @@
+import json
+import sys
+from argostranslate import translate
+
+srclang = "en"
+dstlang = sys.argv[1]
+
+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)))
+
+print(translator.translate("Hello world"))