mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-08 13:33:42 +08:00
27 lines
1.1 KiB
Python
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'
|