pull/36410/head
Shane Smiskol 5 days ago
parent f64a5bd1bb
commit 473370e9e2
  1. 12
      selfdrive/ui/SConscript
  2. 24
      selfdrive/ui/translations/languages.json
  3. 7
      system/ui/lib/multilang.py

@ -96,3 +96,15 @@ if GetOption('extras'):
f = raylib_env.Program(f"installer/installers/installer_{name}", [obj, cont, inter], LIBS=raylib_libs) f = raylib_env.Program(f"installer/installers/installer_{name}", [obj, cont, inter], LIBS=raylib_libs)
# keep installers small # keep installers small
assert f[0].get_size() < 1900*1e3, f[0].get_size() assert f[0].get_size() < 1900*1e3, f[0].get_size()
# Compile gettext .po -> .mo alongside Qt translations
po_sources = [f"#selfdrive/ui/translations/app_{l.replace('main_', '')}.po" for l in languages.values()]
mo_targets = [src.replace(".po", ".mo") for src in po_sources]
msgfmt_bin = 'msgfmt'
# Build each .mo individually to ensure one-to-one mapping
mo_build = []
for src, tgt in zip(po_sources, mo_targets):
mo_build.append(env.Command(tgt, src, f"{msgfmt_bin} -o $TARGET $SOURCE"))
qt_env.Depends(assets, mo_build)

@ -1,14 +1,14 @@
{ {
"English": "en", "English": "main_en",
"Deutsch": "de", "Deutsch": "main_de",
"Français": "fr", "Français": "main_fr",
"Português": "pt-BR", "Português": "main_pt-BR",
"Español": "es", "Español": "main_es",
"Türkçe": "tr", "Türkçe": "main_tr",
"العربية": "ar", "العربية": "main_ar",
"ไทย": "th", "ไทย": "main_th",
"中文(繁體)": "zh-CHT", "中文(繁體)": "main_zh-CHT",
"中文(简体)": "zh-CHS", "中文(简体)": "main_zh-CHS",
"한국어": "ko", "한국어": "main_ko",
"日本語": "ja" "日本語": "main_ja"
} }

@ -1,4 +1,5 @@
import os import os
import gettext
import pyray as rl import pyray as rl
from typing import Union from typing import Union
from openpilot.common.params import Params from openpilot.common.params import Params
@ -58,4 +59,8 @@ class Multilang:
multilang = Multilang() multilang = Multilang()
tr = multilang.translate l = gettext.translation('de', localedir=TRANSLATIONS_DIR, languages=[Params().get("LanguageSetting")])
l.install()
# tr = multilang.translate
# tr = gettext.gettext
tr = l.gettext

Loading…
Cancel
Save