Files
StarPilot/openpilot/system/ui/tests/test_multilang_refresh.py
T

27 lines
1.1 KiB
Python

from openpilot.common.params import Params
from openpilot.system.ui.lib.multilang import Multilang, PLURAL_SELECTORS
def test_external_language_selection_and_english_fallback(tmp_path):
language = Multilang()
class SavedLanguage(Params):
def get(self, key, block=False, return_default=False):
assert key == 'LanguageSetting'
return super().get(key, block=block, return_default=return_default)
saved = SavedLanguage(str(tmp_path))
saved.put('LanguageSetting', 'vi', block=True)
language._params = saved
language.refresh_language()
assert language.language == 'vi'
assert language.tr('Cancel') == 'Hủy'
assert language.tr('Untranslated text') == 'Untranslated text'
assert language.trn('{} day ago', '{} days ago', 2) == '{} ngày trước'
assert PLURAL_SELECTORS['vi'](0) == PLURAL_SELECTORS['vi'](2) == 0
saved.put('LanguageSetting', 'main_ja', block=True)
language.refresh_language()
assert language.language == 'ja' and language.requires_font_fallback()
saved.put('LanguageSetting', 'unknown', block=True)
language.refresh_language()
assert language.language == 'en' and language.tr('Cancel') == 'Cancel'