---- calibre/src/calibre/utils/localization.py~ 2011-06-24 20:01:27.000000000 +0200
-+++ calibre/src/calibre/utils/localization.py 2011-06-29 10:27:57.620747185 +0200
+--- 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
+ 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 ('/usr/share/locale/%s/LC_MESSAGES'%lang)
+
+ 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:
- with ZipFile(P('localization/locales.zip',
+ isof = os.path.join(mpath, 'calibre_iso639.mo')
+ if os.path.exists(isof):
+ iso639 = open(isof, 'rb')
-
+
+ t = None
if buf is not None:
- t = GNUTranslations(buf)
--- 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 @@
if trans is None:
return getattr(__builtins__, '_', lambda x: x)(text)
return trans.ugettext(text)
---- calibre/setup/translations.py~ 2011-06-24 20:01:27.000000000 +0200
-+++ calibre/setup/translations.py 2011-06-29 10:47:26.808247162 +0200
-@@ -85,7 +85,7 @@
+--- calibre/setup/translations.py.orig 2011-07-15 18:54:35.000000000 +0200
++++ calibre/setup/translations.py 2011-07-18 13:57:58.791853837 +0200
+@@ -132,7 +132,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):
-@@ -94,8 +94,9 @@
+ for f in self.po_files():
+@@ -140,8 +140,9 @@
base = os.path.dirname(dest)
if not os.path.exists(base):
os.makedirs(base)
+ if self.newer(dest, f):
+ self.info('\tCompiling translations for', locale)
+ subprocess.check_call(['msgfmt', '-o', dest, f])
- if locale in ('en_GB', 'nds', 'te', 'yi'):
+ if locale in ('en_GB', 'en_CA', 'en_AU', 'si', 'ur', 'sc', 'ltg', 'nds', 'te', 'yi'):
continue
pycountry = self.j(sysconfig.get_python_lib(), 'pycountry',
-@@ -122,16 +123,6 @@
- shutil.copy2(f, dest)
+@@ -157,16 +158,6 @@
+ '\nDo you have pycountry installed?')
self.write_stats()
- self.freeze_locales()