summaryrefslogtreecommitdiff
path: root/raveos-center/raveos_center/forditas.py
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-center/raveos_center/forditas.py')
-rw-r--r--raveos-center/raveos_center/forditas.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/raveos-center/raveos_center/forditas.py b/raveos-center/raveos_center/forditas.py
new file mode 100644
index 0000000..b521a02
--- /dev/null
+++ b/raveos-center/raveos_center/forditas.py
@@ -0,0 +1,30 @@
+import json
+import os
+from pathlib import Path
+
+NYELVEK = ("hu", "en", "de")
+
+
+def _nyelv():
+ for valtozo in ("RAVEOS_CENTER_LANG", "LANGUAGE", "LC_ALL", "LC_MESSAGES", "LANG"):
+ ertek = os.environ.get(valtozo, "")
+ if not ertek or ertek in ("C", "POSIX") or ertek.startswith("C."):
+ continue
+ kod = ertek.split(":")[0][:2].lower()
+ return kod if kod in NYELVEK else "en"
+ return "hu"
+
+
+NYELV = _nyelv()
+_tabla = {}
+if NYELV != "hu":
+ try:
+ _tabla = json.loads((Path(__file__).parent / "forditasok.json").read_text(encoding="utf-8"))
+ except (OSError, ValueError):
+ _tabla = {}
+
+
+def tr(szoveg, *ertekek):
+ sor = _tabla.get(szoveg, {})
+ forditott = sor.get(NYELV) or sor.get("en") or szoveg
+ return forditott.format(*ertekek) if ertekek else forditott