diff --git a/tests/device_tests/test_language.py b/tests/device_tests/test_language.py index d313608ee2..85add053bf 100644 --- a/tests/device_tests/test_language.py +++ b/tests/device_tests/test_language.py @@ -60,10 +60,10 @@ def get_ping_title(lang: str) -> str: def client(client: Client) -> Iterator[Client]: lang_before = client.features.language or "" try: - set_language(client, "en") + set_language(client, "en", force=True) yield client finally: - set_language(client, lang_before[:2]) + set_language(client, lang_before[:2], force=True) def _check_ping_screen_texts(client: Client, title: str, right_button: str) -> None: diff --git a/tests/translations.py b/tests/translations.py index 84d8a95f27..f4f4551863 100644 --- a/tests/translations.py +++ b/tests/translations.py @@ -64,13 +64,14 @@ def build_and_sign_blob( return sign_blob(blob) -def set_language(client: Client, lang: str): +def set_language(client: Client, lang: str, *, force: bool = True): if lang.startswith("en"): language_data = b"" else: language_data = build_and_sign_blob(lang, client) with client: - device.change_language(client, language_data) # type: ignore + if not client.features.language.startswith(lang) or force: + device.change_language(client, language_data) # type: ignore _CURRENT_TRANSLATION.TR = TRANSLATIONS[lang]