]> git.pld-linux.org Git - packages/calibre.git/blobdiff - calibre-locales.patch
- updated BRs
[packages/calibre.git] / calibre-locales.patch
index 7a186cda1ba101dd4867f6b45ae9cf36bc43c57a..01b6084bd402482b6f3025070fe96b6991d36343 100644 (file)
@@ -9,26 +9,14 @@
  
      def run(self, opts):
          self.iso639_errors = []
-@@ -152,8 +152,9 @@ class Translations(POT):  # {{{
-             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.LP_ISO_PATH, '%s.po'%iscpo)
 @@ -174,7 +175,6 @@ class Translations(POT):  # {{{
-             raise SystemExit(1)
-         self.write_stats()
+     def run(self, opts):
+         self.compile_main_translations()
+         self.compile_content_server_translations()
 -        self.freeze_locales()
+         self.compile_user_manual_translations()
  
-     def check_iso639(self, path):
-         from calibre.utils.localization import langnames_to_langcodes
+     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
@@ -52,7 +40,7 @@
  __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>'
  
 +import os
- import cStringIO
+ import io
  from gettext import GNUTranslations
  from calibre.utils.localization import get_lc_messages_path
 -from zipfile import ZipFile
 -            with ZipFile(P('localization/locales.zip',
 -                allow_user_override=False), 'r') as zf:
 -                try:
--                    buf = cStringIO.StringIO(zf.read(mpath + '/messages.mo'))
--                except:
+-                    buf = io.BytesIO(zf.read(mpath + '/messages.mo'))
+-                except Exception:
 -                    pass
 -                else:
 -                    trans = GNUTranslations(buf)
 -                    _CACHE[lang] = trans
-+           p = os.path.join(mpath, 'messages.mo')
++           p = os.path.join(mpath, 'calibre.mo')
 +           if os.path.exists(p):
 +               trans = GNUTranslations(open(p, 'rb'))
 +               _CACHE[lang] = trans
@@ -81,9 +69,9 @@
      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,20 +74,20 @@ def get_lang():
-         lang = 'en'
-     return lang
+@@ -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)
@@ -99,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
  
  _lang_trans = None
  
-@@ -114,18 +114,12 @@ def set_translators():
-                 buf = cStringIO.StringIO(buf.getvalue())
+@@ -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')
++                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
  
-         if buf is not None:
-             t = GNUTranslations(buf)
This page took 0.04353 seconds and 4 git commands to generate.