mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -04:00
Merge branch 'translation_fallback' of https://github.com/xxyzz/calibre
This commit is contained in:
commit
ea873e7c1c
@ -119,13 +119,15 @@ def load_translations(namespace, zfp):
|
|||||||
_translations_cache[zfp] = None
|
_translations_cache[zfp] = None
|
||||||
return
|
return
|
||||||
with zipfile.ZipFile(zfp) as zf:
|
with zipfile.ZipFile(zfp) as zf:
|
||||||
try:
|
mo_path = zipfile.Path(zf, f"translations/{lang}.mo")
|
||||||
mo = zf.read('translations/%s.mo' % lang)
|
if not mo_path.exists() and "_" in lang:
|
||||||
except KeyError:
|
mo_path = zipfile.Path(zf, f"translations/{lang.split('_')[0]}.mo")
|
||||||
mo = None # No translations for this language present
|
if mo_path.exists():
|
||||||
if mo is None:
|
mo = mo_path.read_bytes()
|
||||||
|
else:
|
||||||
_translations_cache[zfp] = None
|
_translations_cache[zfp] = None
|
||||||
return
|
return
|
||||||
|
|
||||||
from gettext import GNUTranslations
|
from gettext import GNUTranslations
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
trans = _translations_cache[zfp] = GNUTranslations(BytesIO(mo))
|
trans = _translations_cache[zfp] = GNUTranslations(BytesIO(mo))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user