[r22039]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: r22056
This commit is contained in:
John Ralls 2013-04-20 23:24:11 +00:00
parent f657238034
commit 1436945239
2 changed files with 19 additions and 4 deletions

View File

@ -1090,7 +1090,14 @@ class PluginRegister(object):
fd.close() fd.close()
if os.path.exists(os.path.join(os.path.dirname(full_filename), if os.path.exists(os.path.join(os.path.dirname(full_filename),
'locale')): '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: else:
local_gettext = glocale.translation.gettext local_gettext = glocale.translation.gettext
try: try:

View File

@ -535,8 +535,15 @@ class GrampsLocale(object):
LOG.warning("Unable to create collator: %s", str(err)) LOG.warning("Unable to create collator: %s", str(err))
self.collator = None self.collator = None
self.translation = self._get_translation(self.localedomain, try:
self.localedir, self.language) 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 # This is a no-op for secondaries but needs the translation
# set, so it needs to be here. # set, so it needs to be here.
self._set_dictionaries() self._set_dictionaries()
@ -578,7 +585,8 @@ class GrampsLocale(object):
if not languages or len(languages) == 0: if not languages or len(languages) == 0:
LOG.warning("No language provided, using US English") LOG.warning("No language provided, using US English")
else: 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 = GrampsNullTranslations()
translator._language = "en" translator._language = "en"
return translator return translator