Bug 6533: Report plugin name when failing to load an add-on translation

Message now says (e.g.) WARNING: Plugin ExtendedAttributes has no translation for any of your configured languages, using US English instead

svn: r22039
This commit is contained in:
John Ralls 2013-04-20 23:10:13 +00:00
parent 2e453b678a
commit 143dcc08fa
2 changed files with 19 additions and 4 deletions

View File

@ -1090,7 +1090,14 @@ class PluginRegister(object):
fd.close()
if os.path.exists(os.path.join(os.path.dirname(full_filename),
'locale')):
local_gettext = glocale.get_addon_translator(full_filename).gettext
try:
local_gettext = glocale.get_addon_translator(full_filename).gettext
except ValueError:
print(_('WARNING: Plugin %(plugin_name)s has no translation'
' for any of your configured languages, using US'
' English instead') %
{'plugin_name' : filename.split('.')[0] })
local_gettext = glocale.translation.gettext
else:
local_gettext = glocale.translation.gettext
try:

View File

@ -535,8 +535,15 @@ class GrampsLocale(object):
LOG.warning("Unable to create collator: %s", str(err))
self.collator = None
self.translation = self._get_translation(self.localedomain,
self.localedir, self.language)
try:
self.translation = self._get_translation(self.localedomain,
self.localedir,
self.language)
except ValueError:
LOG.warning("Unable to find translation for languages in %s, using US English", ':'.join(self.language))
self.translation = GrampsNullTranslations()
self.translation._language = "en"
# This is a no-op for secondaries but needs the translation
# set, so it needs to be here.
self._set_dictionaries()
@ -578,7 +585,8 @@ class GrampsLocale(object):
if not languages or len(languages) == 0:
LOG.warning("No language provided, using US English")
else:
LOG.warning("No usable languages found in %s for %s, using US English", ':'.join(languages), os.path.abspath(localedir))
raise ValueError("No usable translations in %s" %
':'.join(languages))
translator = GrampsNullTranslations()
translator._language = "en"
return translator