mirror of
https://github.com/YunoHost/moulinette.git
synced 2024-09-03 20:06:31 +02:00
Merge pull request #168 from YunoHost/dont_crash_on_failed_to_format_translation_string
Dont crash on failed to format translation string
This commit is contained in:
commit
315168dd79
1 changed files with 12 additions and 3 deletions
|
@ -88,14 +88,23 @@ class Translator(object):
|
||||||
- key -- The key to translate
|
- key -- The key to translate
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
failed_to_format = False
|
||||||
if key in self._translations.get(self.locale, {}):
|
if key in self._translations.get(self.locale, {}):
|
||||||
|
try:
|
||||||
return self._translations[self.locale][key].encode('utf-8').format(*args, **kwargs)
|
return self._translations[self.locale][key].encode('utf-8').format(*args, **kwargs)
|
||||||
|
except KeyError as e:
|
||||||
|
logger.exception("Failed to format translated string '%s' with error: %s" % (key, e))
|
||||||
|
failed_to_format = True
|
||||||
|
|
||||||
if self.default_locale != self.locale and key in self._translations.get(self.default_locale, {}):
|
if failed_to_format or (self.default_locale != self.locale and key in self._translations.get(self.default_locale, {})):
|
||||||
logger.info("untranslated key '%s' for locale '%s'",
|
logger.info("untranslated key '%s' for locale '%s'",
|
||||||
key, self.locale)
|
key, self.locale)
|
||||||
|
|
||||||
|
try:
|
||||||
return self._translations[self.default_locale][key].encode('utf-8').format(*args, **kwargs)
|
return self._translations[self.default_locale][key].encode('utf-8').format(*args, **kwargs)
|
||||||
|
except KeyError as e:
|
||||||
|
logger.exception("Failed to format translatable string '%s' with error: %s" % (key, e))
|
||||||
|
return self._translations[self.locale][key].encode('utf-8')
|
||||||
|
|
||||||
logger.exception("unable to retrieve key '%s' for default locale '%s'",
|
logger.exception("unable to retrieve key '%s' for default locale '%s'",
|
||||||
key, self.default_locale)
|
key, self.default_locale)
|
||||||
|
|
Loading…
Add table
Reference in a new issue