45 lines
1.3 KiB
Python
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
|