Files
nifodea/tests/test_i18n.py
T
2026-07-22 12:40:42 +03:00

45 lines
1.3 KiB
Python

from cli.i18n import Translator, get_lang, set_lang, setup_i18n, t
class TestTranslator:
def test_ru_by_default(self):
setup_i18n()
assert get_lang() == "ru"
def test_ru_returns_russian(self):
tr = Translator("ru")
assert "финансовую" in tr.t("cmd.init.help")
def test_en_fallback_to_ru(self):
tr = Translator("en")
result = tr.t("cmd.init.help")
assert "финансовую" in result
def test_unknown_key_returns_key(self):
tr = Translator("ru")
assert tr.t("nonexistent.key") == "nonexistent.key"
def test_set_lang(self):
setup_i18n()
set_lang("en")
assert get_lang() == "en"
def test_t_function(self):
setup_i18n()
result = t("cmd.init.ok", path="data/model.json")
assert "data/model.json" in result
assert "Пустая" in result
def test_global_ok(self):
result = t("global.ok")
assert result == "OK"
def test_prompt_analyze(self):
result = t("prompt.analyze")
assert "AI-ассистент" in result
def test_custom_lang_init(self):
tr = Translator("de")
result = tr.t("cmd.init.help")
assert "финансовую" in result # fallback to ru