]> git.pld-linux.org Git - packages/calibre.git/blobdiff - calibre-locales.patch
- Up to 0.8.28.
[packages/calibre.git] / calibre-locales.patch
index 300b20a301c120470b023c0a2b4145e9bdaf133f..3eec2c2c428882548c6feb6b30c520eba4c6c417 100644 (file)
---- calibre/src/calibre/utils/localization.py~ 2010-05-21 11:47:23.959845665 +0200
-+++ calibre/src/calibre/utils/localization.py  2010-05-21 11:47:07.293172188 +0200
-@@ -45,7 +45,7 @@
+--- calibre/src/calibre/utils/localization.py.orig      2011-07-15 18:54:35.000000000 +0200
++++ calibre/src/calibre/utils/localization.py   2011-07-18 13:53:51.356353825 +0200
+@@ -8,7 +8,6 @@
+
+ import os, locale, re, cStringIO, cPickle
+ from gettext import GNUTranslations, NullTranslations
+-from zipfile import ZipFile
+
+ _available_translations = None
+
+@@ -50,20 +49,20 @@
+         lang = 'en'
      return lang
- def messages_path(lang):
--    return P('localization/locales/%s/LC_MESSAGES'%lang)
+
++def messages_path(lang):
 +    return ('/usr/share/locale/%s/LC_MESSAGES'%lang)
++
  def get_lc_messages_path(lang):
      hlang = None
-@@ -75,9 +75,9 @@
+-    if zf_exists():
+-        if lang in available_translations():
+-            hlang = lang
+-        else:
+-            xlang = lang.split('_')[0]
+-            if xlang in available_translations():
+-                hlang = xlang
+-    return hlang
+-
+-def zf_exists():
+-    return os.path.exists(P('localization/locales.zip',
+-                allow_user_override=False))
++    if lang in available_translations():
++        hlang = lang
++    else:
++        xlang = lang.split('_')[0]
++        if xlang in available_translations():
++            hlang = xlang
++    if hlang is not None:
++        return messages_path(hlang)
++    return None
+
+ def set_translators():
+     # To test different translations invoke as
+@@ -79,17 +78,12 @@
+
          mpath = get_lc_messages_path(lang)
          if mpath is not None:
-             if buf is None:
--                buf = open(os.path.join(mpath, 'messages.mo'), 'rb')
+-            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
++            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, 'iso639.mo')
++            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 os.path.exists(isof):
++                iso639 = open(isof, 'rb')
+
+         t = None
+         if buf is not None:
+--- calibre/src/calibre/translations/dynamic.py~       2011-06-24 20:01:27.000000000 +0200
++++ calibre/src/calibre/translations/dynamic.py        2011-06-29 10:37:52.305747266 +0200
+@@ -5,9 +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, ZipFile
++from calibre.utils.localization import get_lc_messages_path
+ __all__ = ['translate']
+@@ -20,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,16 +156,6 @@
+                 self.warn('No ISO 639 translations for locale:', locale)
+         self.write_stats()
+-        self.freeze_locales()
+-
+-    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):
This page took 0.051927 seconds and 4 git commands to generate.