diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py
index c420e867d7..7fe890a305 100644
--- a/setup/installer/windows/freeze.py
+++ b/setup/installer/windows/freeze.py
@@ -496,10 +496,16 @@ class Win32Freeze(Command, WixMixIn):
'*.exe'))
if not files:
raise ValueError('No installers found')
- subprocess.check_call(['signtool.exe', 'sign', '/a', '/d',
+ args = ['signtool.exe', 'sign', '/a', '/d',
'calibre - E-book management', '/du',
'http://calibre-ebook.com', '/t',
- 'http://timestamp.verisign.com/scripts/timstamp.dll'] + files)
+ 'http://timestamp.verisign.com/scripts/timstamp.dll']
+ try:
+ subprocess.check_call(args + files)
+ except subprocess.CalledProcessError:
+ print ('Signing failed, retrying with different timestamp server')
+ args[-1] = 'http://timestamp.comodoca.com/authenticode'
+ subprocess.check_call(args + files)
def add_dir_to_zip(self, zf, path, prefix=''):
'''
diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot
index 53081a9c24..9a1346e3c2 100644
--- a/src/calibre/translations/calibre.pot
+++ b/src/calibre/translations/calibre.pot
@@ -4,9 +4,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: calibre 0.9.21\n"
-"POT-Creation-Date: 2013-03-05 10:04+IST\n"
-"PO-Revision-Date: 2013-03-05 10:04+IST\n"
+"Project-Id-Version: calibre 0.9.22\n"
+"POT-Creation-Date: 2013-03-08 09:34+IST\n"
+"PO-Revision-Date: 2013-03-08 09:34+IST\n"
"Last-Translator: Automatically generated\n"
"Language-Team: LANGUAGE\n"
"MIME-Version: 1.0\n"
@@ -44,7 +44,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:469
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:480
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:57
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/chm_input.py:183
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/chm_input.py:185
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/comic_input.py:189
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_input.py:99
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_input.py:101
@@ -151,7 +151,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:829
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:835
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:193
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:208
@@ -182,8 +182,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/database2.py:3504
#: /home/kovid/work/calibre/src/calibre/library/database2.py:3506
#: /home/kovid/work/calibre/src/calibre/library/database2.py:3643
-#: /home/kovid/work/calibre/src/calibre/library/server/content.py:250
-#: /home/kovid/work/calibre/src/calibre/library/server/content.py:251
+#: /home/kovid/work/calibre/src/calibre/library/server/content.py:252
+#: /home/kovid/work/calibre/src/calibre/library/server/content.py:253
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:160
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:163
@@ -1016,12 +1016,12 @@ msgstr ""
msgid "Invalid boolean query \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/debug.py:69
+#: /home/kovid/work/calibre/src/calibre/debug.py:75
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:47
msgid "Cause a running calibre instance, if any, to be shutdown. Note that if there are running jobs, they will be silently aborted, so use with care."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/debug.py:171
+#: /home/kovid/work/calibre/src/calibre/debug.py:177
msgid "Debug log"
msgstr ""
@@ -1187,10 +1187,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1337
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1341
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1345
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1699
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147
@@ -1266,7 +1266,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14
#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:37
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:281
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:288
#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18
msgid "Kovid Goyal"
msgstr ""
@@ -1295,31 +1295,35 @@ msgstr ""
msgid "Communicate with the EB600 eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:197
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:56
+msgid "Communicate with the Tolino Shine reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:204
msgid "Communicate with the Astak Mentor EB600"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:227
msgid "Communicate with the PocketBook 301 reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:237
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:244
msgid "Communicate with the PocketBook 602/603/902/903/Pro 912 reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:257
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:264
msgid "Communicate with the PocketBook 622 reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:270
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:277
msgid "Communicate with the PocketBook 360+ reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:280
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:287
msgid "Communicate with the PocketBook 701"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:311
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:318
msgid "Communicate with the Infibeam Pi2 reader."
msgstr ""
@@ -1528,32 +1532,32 @@ msgid "Normally, the KOBO readers get the cover image from the ebook file itself
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid "A bug in an earlier version left non kepubs book records in the database. With this option Calibre will show the expired records and allow you to delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236
msgid "Show Previews"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
msgid "Kobo previews are included on the Touch and some other versions by default they are no longer displayed as there is no good reason to see them. Enable if you wish to see/delete them."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1239
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240
msgid "Show Recommendations"
msgstr ""
@@ -1562,7 +1566,7 @@ msgid "Kobo now shows recommendations on the device. In some case these have fi
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1248
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249
msgid "Attempt to support newer firmware"
msgstr ""
@@ -1609,67 +1613,67 @@ msgstr ""
msgid "Chapter %(chapter)d: %(chapter_title)s
%(typ)s
Chapter Progress: %(chapter_progress)s%%
Highlight: %(text)s
Notes: %(annotation)s
Choose which identifier type to operate upon. When the\n" +" source field is something other than 'identifiers' you can enter\n" +" a * if you want to replace the entire set of identifiers with\n" +" the result of the search/replace.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:661 -msgid "Used when displaying test results to separate values in multiple-valued fields" +msgid "For multiple-valued fields, sho&w" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:662 -msgid "Test text" +msgid "values starting a&t" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:663 -msgid "Test result" +msgid "with values separated b&y" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:664 -msgid "Your test:" +msgid "Used when displaying test results to separate values in multiple-valued fields" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:665 +msgid "Test text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:666 +msgid "Test result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:667 +msgid "Your test:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:668 msgid "&Search and replace" msgstr "" @@ -11684,6 +11716,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:176 msgid "None" msgstr "" @@ -15953,6 +15986,105 @@ msgstr "" msgid "First letter is usable only when sorting by name" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:101 +msgid "Select a destination for the Table of Contents entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:121 +msgid "Here you can choose a destination for the Table of Contents' entry to point to. First choose a file from the book in the left-most panel. The file will open in the central panel.Then choose a location inside the file. To do so, simply click on the place in the central panel that you want to use as the destination. As you move the mouse around the central panel, a thick green line appears, indicating the precise location that will be selected when you click." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 +msgid "&Name of the ToC entry:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:140 +msgid "Currently selected destination:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:188 +msgid "File:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:183 +msgid "Top of the file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:220 +msgid "(Untitled)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:181 +#, python-format +msgid "Location: A <%s> tag inside the file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 +#, python-format +msgid "Approximately %d%% from the top" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:45 +msgid "You can edit existing entries in the Table of Contents by clicking them in the panel to the left." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:47 +msgid "Entries with a green tick next to them point to a location that has been verified to exist. Entries with a red dot are broken and may need to be fixed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:55 +msgid "Create a &new entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:98 +msgid "Move current entry up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:104 +msgid "Remove all selected entries" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:110 +msgid "Move current entry down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:112 +msgid "&Expand all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:116 +msgid "&Collapse all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:119 +msgid "Double click on an entry to change the text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:197 +msgid "Title: {0} Dest: {1}{2}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 +#, python-format +msgid "" +"The location this entry point to does not exist:\n" +"%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#, python-format +msgid "Edit the ToC in %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:269 +#, python-format +msgid "Loading %s, please wait..." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:70 #, python-format msgid "Convert book %(num)d of %(total)d (%(title)s)"