core/source/logic/localization.py

47 lines
1.1 KiB
Python

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 = {}
for language in [translation_language_shall, translation_language_fallback]:
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)