core/source/logic/localization.py

53 lines
1.2 KiB
Python
Raw Normal View History

translation_language_fallback = None
translation_language_shall = None
def translation_initialize(language_fallback, language_shall):
global translation_language_fallback
global translation_language_shall
translation_language_fallback = language_fallback
translation_language_shall = language_shall
def translation_get(key, arguments = None):
global translation_language_fallback
global translation_language_shall
global localization_data
if (arguments is None):
arguments = {}
2022-12-05 08:16:29 +01:00
languages = list(
filter(
lambda language: (language is not None),
[translation_language_shall, translation_language_fallback]
)
)
for language in languages:
if (language not in localization_data):
_sys.stderr.write(
string_coin(
"[notice] missing localization data for language '{{language}}'\n",
{
"language": language,
}
)
)
else:
if (key not in localization_data[language]):
_sys.stderr.write(
string_coin(
"[notice] missing translation in language '{{language}}' for key '{{key}}'\n",
{
"language": language,
"key": key,
}
)
)
else:
return string_coin(
localization_data[language][key],
arguments
)
return ("{{%s}}" % key)