aboutsummaryrefslogtreecommitdiffstats
path: root/modules/localization.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-01-04 15:57:14 +0000
committerGitHub <noreply@github.com>2023-01-04 15:57:14 +0000
commit32547f2721c92794779e6ff9fb325243d5857cae (patch)
treed4d5f1a9705e59eef5029cc1be3bff57fbd389c2 /modules/localization.py
parentfe6e2362e8fa5d739de6997ab155a26686d20a49 (diff)
parent3dae545a03f5102ba5d9c3f27bb6241824c5a916 (diff)
downloadstable-diffusion-webui-gfx803-32547f2721c92794779e6ff9fb325243d5857cae.tar.gz
stable-diffusion-webui-gfx803-32547f2721c92794779e6ff9fb325243d5857cae.tar.bz2
stable-diffusion-webui-gfx803-32547f2721c92794779e6ff9fb325243d5857cae.zip
Merge branch 'master' into xygrid_infotext_improvements
Diffstat (limited to 'modules/localization.py')
-rw-r--r--modules/localization.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/localization.py b/modules/localization.py
new file mode 100644
index 00000000..f6a6f2fb
--- /dev/null
+++ b/modules/localization.py
@@ -0,0 +1,37 @@
+import json
+import os
+import sys
+import traceback
+
+
+localizations = {}
+
+
+def list_localizations(dirname):
+ localizations.clear()
+
+ for file in os.listdir(dirname):
+ fn, ext = os.path.splitext(file)
+ if ext.lower() != ".json":
+ continue
+
+ localizations[fn] = os.path.join(dirname, file)
+
+ from modules import scripts
+ for file in scripts.list_scripts("localizations", ".json"):
+ fn, ext = os.path.splitext(file.filename)
+ localizations[fn] = file.path
+
+
+def localization_js(current_localization_name):
+ fn = localizations.get(current_localization_name, None)
+ data = {}
+ if fn is not None:
+ try:
+ with open(fn, "r", encoding="utf8") as file:
+ data = json.load(file)
+ except Exception:
+ print(f"Error loading localization from {fn}:", file=sys.stderr)
+ print(traceback.format_exc(), file=sys.stderr)
+
+ return f"var localization = {json.dumps(data)}\n"