bimtester: do not break bimtester if translation files are missing, fixes #1910

This commit is contained in:
Bernd Hahnebach
2021-12-08 15:19:36 +01:00
parent ee56e06d86
commit 195af0c850
+17 -4
View File
@@ -8,8 +8,21 @@ def _(message):
return message
def switch_locale(locale_dir, locale_id="en"):
def switch_locale(locale_dir, locale_id):
global translation
newlang = gettext.translation("messages", localedir=locale_dir, languages=[locale_id])
newlang.install()
translation = newlang.gettext
domain = "messages"
# https://docs.python.org/3/library/gettext.html
mo_file = gettext.find(domain, localedir=locale_dir, languages=[locale_id])
if mo_file is not None:
print(
"Locale will be switched to language '{}'. Translation file found {}"
.format(locale_id, mo_file)
)
newlang = gettext.translation(domain, localedir=locale_dir, languages=[locale_id])
newlang.install()
translation = newlang.gettext
else:
print(
"Locale can not be switched to '{}'. Translation file (*.mo) not found in {}"
.format(locale_id, locale_dir)
)