diff --git a/src/calibre/utils/localization.py b/src/calibre/utils/localization.py index 4ac0b13285..051774e128 100644 --- a/src/calibre/utils/localization.py +++ b/src/calibre/utils/localization.py @@ -137,7 +137,12 @@ def get_single_translator(mpath, which='messages'): from zipfile import ZipFile with ZipFile(P('localization/locales.zip', allow_user_override=False), 'r') as zf: buf = io.BytesIO(zf.read(mpath + '/%s.mo' % which)) - return GNUTranslations(buf) + try: + return GNUTranslations(buf) + except Exception as e: + import traceback + traceback.print_exc() + raise ValueError('Failed to load translations for: {} with error: {}'.format(mpath, e)) def get_iso639_translator(lang):