def init_localization(): # pragma: no cover
"""
Application localization
:return: gettext translator method
:rtype: method
"""
try:
# Language message file
if 'win32' not in sys.platform:
lang_filename = os.path.join(
os.path.abspath(os.path.dirname(__file__)),
"LC_MESSAGES/%s.mo" % get_app_config('Alignak-app', 'locale')
)
else:
lang_filename = get_main_folder() + "\\locales\\%s.mo" % get_app_config(
'Alignak-app', 'locale'
)
logger.info(
"Opening message file %s for locale %s",
lang_filename, get_app_config('Alignak-app', 'locale')
)
translation = GNUTranslations(open(lang_filename, "rb"))
translation.install()
_ = translation.gettext
except IOError:
logger.warning("Locale not found. Using default language messages (English)")
null_translation = NullTranslations()
null_translation.install()
_ = null_translation.gettext
except Exception as e: # pragma: no cover - should not happen
logger.error("Locale not found. Exception: %s", str(e))
null_translation = NullTranslations()
null_translation.install()
_ = null_translation.gettext
return _
评论列表
文章目录