]> git.pld-linux.org Git - packages/calibre.git/blobdiff - calibre-locales.patch
- updated BRs
[packages/calibre.git] / calibre-locales.patch
index 6e6b41d9db32677eac697c387a9ab69f974b75f9..01b6084bd402482b6f3025070fe96b6991d36343 100644 (file)
@@ -1,8 +1,77 @@
---- calibre/src/calibre/utils/localization.py.old      2012-10-28 22:07:25.481983550 +0100
-+++ calibre/src/calibre/utils/localization.py  2012-10-28 22:12:17.250402847 +0100
-@@ -73,20 +73,20 @@ def get_lang():
-         lang = 'en'
-     return lang
+--- calibre/setup/translations.py.wiget        2013-12-06 05:13:34.000000000 +0100
++++ calibre/setup/translations.py      2013-12-09 09:28:32.349958101 +0100
+@@ -143,7 +143,7 @@ class Translations(POT):  # {{{
+     def mo_file(self, po_file):
+         locale = os.path.splitext(os.path.basename(po_file))[0]
+-        return locale, os.path.join(self.DEST, locale, 'messages.mo')
++        return locale, os.path.join(self.DEST, locale, 'LC_MESSAGES', 'messages.mo')
+     def run(self, opts):
+         self.iso639_errors = []
+@@ -174,7 +175,6 @@ class Translations(POT):  # {{{
+     def run(self, opts):
+         self.compile_main_translations()
+         self.compile_content_server_translations()
+-        self.freeze_locales()
+         self.compile_user_manual_translations()
+     def compile_group(self, files, handle_stats=None, file_ok=None, action_per_file=None):
+@@ -198,15 +198,6 @@ class Translations(POT):  # {{{
+                     # raise SystemExit(1)
+                 rmap[msgstr] = msgid
+-    def freeze_locales(self):
+-        zf = self.DEST + '.zip'
+-        from calibre import CurrentDir
+-        from calibre.utils.zipfile import ZipFile, ZIP_DEFLATED
+-        with ZipFile(zf, 'w', ZIP_DEFLATED) as zf:
+-            with CurrentDir(self.DEST):
+-                zf.add_dir('.')
+-        shutil.rmtree(self.DEST)
+-
+     @property
+     def stats(self):
+         return self.j(self.d(self.DEST), 'stats.pickle')
+--- calibre/src/calibre/translations/dynamic.py.wiget  2013-12-06 05:13:34.000000000 +0100
++++ calibre/src/calibre/translations/dynamic.py        2013-12-09 09:28:32.349958101 +0100
+@@ -5,10 +5,10 @@ Dynamic language lookup of translations
+ __license__   = 'GPL v3'
+ __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>'
++import os
+ import io
+ from gettext import GNUTranslations
+ from calibre.utils.localization import get_lc_messages_path
+-from zipfile import ZipFile
+ __all__ = ['translate']
+@@ -21,15 +21,10 @@ def translate(lang, text):
+     else:
+         mpath = get_lc_messages_path(lang)
+         if mpath is not None:
+-            with ZipFile(P('localization/locales.zip',
+-                allow_user_override=False), 'r') as zf:
+-                try:
+-                    buf = io.BytesIO(zf.read(mpath + '/messages.mo'))
+-                except Exception:
+-                    pass
+-                else:
+-                    trans = GNUTranslations(buf)
+-                    _CACHE[lang] = trans
++           p = os.path.join(mpath, 'calibre.mo')
++           if os.path.exists(p):
++               trans = GNUTranslations(open(p, 'rb'))
++               _CACHE[lang] = trans
+     if trans is None:
+         return getattr(__builtins__, '_', lambda x: x)(text)
+     return trans.ugettext(text)
+--- calibre/src/calibre/utils/localization.py.wiget    2013-12-06 05:13:34.000000000 +0100
++++ calibre/src/calibre/utils/localization.py  2013-12-09 09:31:05.694326467 +0100
+@@ -74,21 +74,20 @@ def get_lang():
+     return get_lang()[:2].lower() in {'he', 'ar'}
  
 +def messages_path(lang):
 +    return ('/usr/share/locale/%s/LC_MESSAGES'%lang)
@@ -18,6 +87,7 @@
 -                hlang = xlang
 -    return hlang
 -
+-
 -def zf_exists():
 -    return os.path.exists(P('localization/locales.zip',
 -                allow_user_override=False))
 +        xlang = lang.split('_')[0]
 +        if xlang in available_translations():
 +            hlang = xlang
-+        if hlang is not None:
-+            return messages_path(hlang)
-+        return None
++    if hlang is not None:
++        return messages_path(hlang)
++    return None
  
- def set_translators():
-     # To test different translations invoke as
-@@ -110,18 +110,12 @@ def set_translators():
-                 buf = cStringIO.StringIO(buf.getvalue())
+ _lang_trans = None
+@@ -99,13 +99,14 @@
+ _lang_trans = None
+ def get_all_translators():
+-    from zipfile import ZipFile
+-    with ZipFile(P('localization/locales.zip', allow_user_override=False), 'r') as zf:
+-        for lang in available_translations():
+-            mpath = get_lc_messages_path(lang)
+-            if mpath is not None:
+-                buf = io.BytesIO(zf.read(mpath + '/messages.mo'))
+-                yield lang, GNUTranslations(buf)
++    for lang in available_translations():
++        mpath = get_lc_messages_path(lang)
++        if mpath is not None:
++            try:
++                buf = open(os.path.join(mpath, 'calibre.mo'), 'rb')
++                yield lang, GNUTranslations(buf)
++            except:
++                pass
+ lcdata = {
+     u'abday': (u'Sun', u'Mon', u'Tue', u'Wed', u'Thu', u'Fri', u'Sat'),
+@@ -134,20 +134,11 @@
+ def get_single_translator(mpath, which='messages'):
+-    from zipfile import ZipFile
+-    with ZipFile(P('localization/locales.zip', allow_user_override=False), 'r') as zf:
+-        path = '{}/{}.mo'.format(mpath, which)
+-        data = zf.read(path)
+-        buf = io.BytesIO(data)
+         try:
++            buf = open(os.path.join(mpath, '/%s.mo' % which), 'rb')
+             return GNUTranslations(buf)
+         except Exception as e:
+-            import traceback
+-            traceback.print_exc()
+-            import hashlib
+-            sig = hashlib.sha1(data).hexdigest()
+-            raise ValueError('Failed to load translations for: {} (size: {} and signature: {}) with error: {}'.format(
+-                path, len(data), sig, e))
++            pass  # No translations for this lang
+ def get_iso639_translator(lang):
+@@ -145,22 +145,21 @@
+                 buf = io.BytesIO(buf.getvalue())
  
          if mpath is not None:
 -            from zipfile import ZipFile
 -            with ZipFile(P('localization/locales.zip',
 -                allow_user_override=False), 'r') as zf:
 -                if buf is None:
--                    buf = cStringIO.StringIO(zf.read(mpath + '/messages.mo'))
--                if mpath == 'nds':
--                    mpath = 'de'
--                isof = mpath + '/iso639.mo'
--                try:
--                    iso639 = cStringIO.StringIO(zf.read(isof))
--                except:
--                    pass # No iso639 translations for this lang
+-                    buf = io.BytesIO(zf.read(mpath + '/messages.mo'))
 +            if buf is None:
-+                buf = open(os.path.join(mpath, 'calibre.mo'), 'rb')
-+            mpath = mpath.replace(os.sep+'nds'+os.sep, os.sep+'de'+os.sep)
-+            isof = os.path.join(mpath, 'calibre_iso639.mo')
-+            if os.path.exists(isof):
-+                iso639 = open(isof, 'rb')
-         if buf is not None:
-             t = GNUTranslations(buf)
---- calibre/src/calibre/translations/dynamic.py.orig    2012-01-13 05:32:13.000000000 +0100
-+++ calibre/src/calibre/translations/dynamic.py 2012-01-17 09:37:53.594649557 +0100
-@@ -5,10 +5,10 @@
- __license__   = 'GPL v3'
- __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>'
-
-+import os
- import cStringIO
- from gettext import GNUTranslations
- from calibre.utils.localization import get_lc_messages_path
--from zipfile import ZipFile
-
- __all__ = ['translate']
-
-@@ -21,15 +21,10 @@
-     else:
-         mpath = get_lc_messages_path(lang)
-         if mpath is not None:
--            with ZipFile(P('localization/locales.zip',
--                allow_user_override=False), 'r') as zf:
--                try:
--                    buf = cStringIO.StringIO(zf.read(mpath + '/messages.mo'))
--                except:
--                    pass
--                else:
--                    trans = GNUTranslations(buf)
--                    _CACHE[lang] = trans
-+           p = os.path.join(mpath, 'messages.mo')
-+           if os.path.exists(p):
-+               trans = GNUTranslations(open(p, 'rb'))
-+               _CACHE[lang] = trans
-     if trans is None:
-         return getattr(__builtins__, '_', lambda x: x)(text)
-     return trans.ugettext(text)
---- calibre/setup/translations.py.orig 2011-08-26 18:36:51.000000000 +0200
-+++ calibre/setup/translations.py      2011-08-27 12:55:49.997229244 +0200
-@@ -131,7 +131,7 @@
-     def mo_file(self, po_file):
-         locale = os.path.splitext(os.path.basename(po_file))[0]
--        return locale, os.path.join(self.DEST, locale, 'messages.mo')
-+        return locale, os.path.join(self.DEST, locale, 'LC_MESSAGES', 'messages.mo')
-     def run(self, opts):
-         for f in self.po_files():
-@@ -139,8 +139,9 @@
-             base = os.path.dirname(dest)
-             if not os.path.exists(base):
-                 os.makedirs(base)
--            self.info('\tCompiling translations for', locale)
--            subprocess.check_call(['msgfmt', '-o', dest, f])
-+            if self.newer(dest, f):
-+                self.info('\tCompiling translations for', locale)
-+                subprocess.check_call(['msgfmt', '-o', dest, f])
-             iscpo = {'bn':'bn_IN', 'zh_HK':'zh_CN'}.get(locale, locale)
-             iso639 = self.j(self.d(self.SRC), 'setup', 'iso_639',
-                     '%s.po'%iscpo)
-@@ -155,7 +156,6 @@
-                 self.warn('No ISO 639 translations for locale:', locale)
-         self.write_stats()
--        self.freeze_locales()
-     def check_iso639(self, path):
-         from calibre.utils.localization import langnames_to_langcodes
-@@ -165,15 +166,6 @@
-                             os.path.basename(path), msgstr, msgid, rmap[msgstr]))
-                     # raise SystemExit(1)
-                 rmap[msgstr] = msgid
--
--    def freeze_locales(self):
--        zf = self.DEST + '.zip'
--        from calibre import CurrentDir
--        from calibre.utils.zipfile import ZipFile, ZIP_DEFLATED
--        with ZipFile(zf, 'w', ZIP_DEFLATED) as zf:
--            with CurrentDir(self.DEST):
--                zf.add_dir('.')
--        shutil.rmtree(self.DEST)
++                try:
++                    buf = open(os.path.join(mpath, 'calibre.mo'), 'rb')
++                except:
++                    pass  # No translations for this lang
+                 if mpath == 'nds':
+                     mpath = 'de'
+-                isof = mpath + '/iso639.mo'
+                 try:
+-                    iso639 = io.BytesIO(zf.read(isof))
++                    iso639 = open(os.path.join(mpath, 'calibre_iso639.mo'), 'rb')
+                 except:
+                     pass  # No iso639 translations for this lang
+                 if buf is not None:
+                     from calibre.utils.serialize import msgpack_loads
+                     try:
+-                        lcdata = msgpack_loads(zf.read(mpath + '/lcdata.calibre_msgpack'))
++                        lcdata = msgpack_loads(open(os.path.join(mpath, '/lcdata.calibre_msgpack')))
+                     except:
+                         pass  # No lcdata
  
-     @property
-     def stats(self):
This page took 0.047278 seconds and 4 git commands to generate.