diff --git a/src/calibre/devices/udisks.py b/src/calibre/devices/udisks.py index 9cb9b2adc5..6d6033e572 100644 --- a/src/calibre/devices/udisks.py +++ b/src/calibre/devices/udisks.py @@ -56,6 +56,39 @@ class UDisks(object): d = self.device(parent) d.DriveEject([]) +class NoUdisks2(Exception): + pass + +class UDisks2(UDisks): + + def __init__(self): + self.bus = dbus.SystemBus() + try: + self.main = self.bus.get_object('org.freedesktop.UDisks2', + '/org/freedesktop/UDisks2') + except dbus.exceptions.DBusException as e: + if getattr(e, '_dbus_error_name', None) == 'org.freedesktop.DBus.Error.ServiceUnknown': + raise NoUdisks2() + raise + print self.main.Introspect(dbus_interface='org.freedesktop.DBus.Introspectable') + + def device(self, device_node_path): + device_node_path = os.path.realpath(device_node_path) + devname = device_node_path.split('/')[-1] + + # First we try a direct object path + bd = self.bus.get_object('org.freedesktop.UDisks2', + '/org/freedesktop/UDisks2/block_devices/%s'%devname) + props = bd.getProperties(dbus_interface='org.freedesktop.UDisks2.BlockDevice') + print props + +def get_udisks(): + try: + u = UDisks2() + except NoUdisks2: + u = UDisks() + return u + def mount(node_path): u = UDisks() u.mount(node_path) @@ -68,15 +101,23 @@ def umount(node_path): u = UDisks() u.unmount(node_path) -if __name__ == '__main__': +def test_udisks(ver=None): import sys dev = sys.argv[1] print 'Testing with node', dev - u = UDisks() + if ver is None: + u = get_udisks() + else: + u = UDisks2() if ver == 2 else UDisks() + + print 'Using Udisks:', u print 'Mounted at:', u.mount(dev) print 'Unmounting' u.unmount(dev) print 'Ejecting:' u.eject(dev) +if __name__ == '__main__': + test_udisks() + diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 972820e369..702a2525ad 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.8.56\n" -"POT-Creation-Date: 2012-06-15 12:42+IST\n" -"PO-Revision-Date: 2012-06-15 12:42+IST\n" +"Project-Id-Version: calibre 0.8.57\n" +"POT-Creation-Date: 2012-06-22 10:41+IST\n" +"PO-Revision-Date: 2012-06-22 10:41+IST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -24,8 +24,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:106 #: /home/kovid/work/calibre/src/calibre/db/cache.py:109 #: /home/kovid/work/calibre/src/calibre/db/cache.py:120 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:327 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:332 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:333 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:101 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -47,7 +47,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/fb2_input.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:121 -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdb_input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/rtf_input.py:289 #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/rtf_input.py:291 @@ -102,9 +102,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:26 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:85 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:143 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:185 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:186 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/mobi6.py:615 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/utils.py:316 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer2/indexer.py:463 @@ -141,10 +141,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:116 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:420 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:429 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:397 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:400 @@ -182,15 +182,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:178 #: /home/kovid/work/calibre/src/calibre/library/cli.py:235 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:569 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:577 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:588 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2098 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2252 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2668 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3316 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3318 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3455 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:576 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:584 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:595 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2105 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2259 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2675 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3323 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3325 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3462 #: /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/mobile.py:245 @@ -459,7 +459,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:272 msgid "Add your own columns" msgstr "" @@ -870,26 +870,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1023 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:844 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:867 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:851 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:874 msgid "Yes" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1154 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1161 msgid "Main" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1156 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1163 msgid "Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/db/fields.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1158 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1165 msgid "Card B" msgstr "" @@ -901,15 +901,15 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:175 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:179 msgid "Comma separated list of directories to send e-books to on the device. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:267 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:272 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:286 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:291 msgid "Communicate with WebOS tablets." msgstr "" @@ -1020,11 +1020,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1092 #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:469 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1173 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1175 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:354 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:367 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3173 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1212 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:361 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3180 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 msgid "News" msgstr "" @@ -1032,8 +1032,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2752 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:65 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:65 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3129 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3136 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3154 msgid "Catalog" msgstr "" @@ -1432,7 +1432,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:596 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:393 msgid "Not Implemented" msgstr "" @@ -2122,55 +2122,55 @@ msgid "" "inline: Place the CSS in the head section of the document." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:90 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:95 msgid "Enable autorotation of images that are wider than the screen width." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:99 #, python-format msgid "Set the space between words in pts. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:102 msgid "Add a header to all the pages with title and author." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:105 msgid "Set the format of the header. %a is replaced by the author and %t by the title. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:104 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:109 #, python-format msgid "Add extra spacing below the header. Default is %default pt." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:112 #, python-format msgid "Minimum paragraph indent (the indent of the first line of a paragraph) in pts. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:112 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:117 msgid "Render tables in the HTML as images (useful if the document has large or complex tables)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:117 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:122 #, python-format msgid "Multiply the size of text in rendered tables by this factor. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:121 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:126 msgid "The serif family of fonts to embed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:129 msgid "The sans-serif family of fonts to embed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:127 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:132 msgid "The monospace family of fonts to embed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:152 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/lrf_output.py:157 msgid "Comic" msgstr "" @@ -3045,7 +3045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:769 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1065 @@ -3053,7 +3053,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:555 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:583 msgid "Title" @@ -3325,7 +3325,7 @@ msgstr "" msgid "Downloads metadata and covers from OZON.ru" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:57 msgid "Sample Book" msgstr "" @@ -3573,7 +3573,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:305 msgid "Author" @@ -3663,144 +3663,144 @@ msgstr "" msgid "Table of Contents:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 msgid "Match tags by any or all." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:137 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:139 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:141 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:147 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:148 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:149 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:150 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:152 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:154 msgid "Delete news books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:156 msgid "Show the cover flow in a separate window instead of in the main calibre window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:158 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:160 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:165 msgid "Start searching as you type. If this is disabled then search will only take place when the Enter or Return key is pressed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:168 msgid "When searching, show all books with search results highlighted instead of showing only the matches. You can use the N or F3 keys to go to the next match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:193 msgid "Maximum number of simultaneous conversion/news download jobs. This number is twice the actual value for historical reasons." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:196 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:198 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:200 msgid "Automatically download the cover, if available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:202 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:204 msgid "The layout of the user interface. Wide has the book details panel on the right and narrow has it at the bottom." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:208 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:210 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:215 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:269 msgid "WARNING:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:279 msgid "ERROR:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:291 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:258 msgid "Show this confirmation again" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:541 msgid "Choose Files" msgstr "" @@ -3962,24 +3962,25 @@ msgid "Merged some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:332 -msgid "The following duplicate books were found and incoming book formats were processed and merged into your Calibre database according to your automerge settings:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:353 -msgid "Failed to read metadata" +#, python-format +msgid "The following %d duplicate books were found and incoming book formats were processed and merged into your Calibre database according to your automerge settings:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:354 +msgid "Failed to read metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:355 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:380 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:400 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:381 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 @@ -3990,11 +3991,11 @@ msgstr "" msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:394 msgid "The following books are virtual and cannot be added to the calibre library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:400 msgid "No book files found" msgstr "" @@ -4179,7 +4180,7 @@ msgid "Note that the actual library folder will be renamed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:728 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:727 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:308 msgid "Already exists" @@ -4242,7 +4243,7 @@ msgid "Path to library too long. Must be less than %d characters. Move your libr msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:397 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:734 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:314 @@ -4258,8 +4259,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:197 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:777 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:339 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:379 msgid "Failed" @@ -4285,7 +4286,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:501 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:224 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:965 msgid "Not allowed" msgstr "" @@ -4393,7 +4394,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:161 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:112 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:675 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:374 @@ -5489,7 +5490,7 @@ msgid "Double-click to open Book Details window" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:360 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295 msgid "Path" msgstr "" @@ -5588,7 +5589,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion_ui.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113 @@ -5903,81 +5904,81 @@ msgstr "" msgid "Select all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:123 msgid "Foreground color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:128 msgid "Background color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:132 msgid "Style text block" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:134 msgid "Style the selected text block" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:158 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:138 -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:140 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:145 msgid "Heading" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:146 msgid "Pre-formatted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:147 msgid "Blockquote" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:148 msgid "Address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:155 msgid "Insert link" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:84 msgid "Clear" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:181 msgid "Choose foreground color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:187 msgid "Choose background color" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:192 msgid "Create link" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:193 msgid "Enter URL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:552 msgid "Normal view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:553 msgid "HTML Source" msgstr "" @@ -7920,7 +7921,7 @@ msgid "Choose Format" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 msgid "Format" msgstr "" @@ -8099,11 +8100,11 @@ msgstr "" msgid "All checked books will be permanently deleted from your device. Please verify the list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 msgid "Location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 @@ -8124,13 +8125,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:907 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:944 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:945 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -8206,7 +8207,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:523 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:601 msgid "No matches found" msgstr "" @@ -8253,12 +8254,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:957 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:994 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:958 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:995 msgid "Author names cannot contain & characters." msgstr "" @@ -9022,159 +9023,159 @@ msgstr "" msgid "Description" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:525 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:538 msgid "&Install" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:526 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:527 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:539 msgid "Install the selected plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:530 msgid "&Customize plugin " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:583 msgid "Customize the options for this plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:543 msgid "Version &History" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:544 msgid "Show history of changes to this plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:548 msgid "Plugin &Forum Thread" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:557 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:114 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:558 msgid "Enable or disable this plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:562 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:116 msgid "&Remove plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:563 msgid "Uninstall the selected plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:572 msgid "Donate to developer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:573 msgid "Donate to the developer of this plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:582 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:115 msgid "&Customize plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:676 #, python-format msgid "Are you sure you want to uninstall the %s plugin?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:689 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:688 #, python-format msgid "Install %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:689 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:299 msgid "Installing plugins is a security risk. Plugins can contain a virus/malware. Only install it if you got it from a trusted source. Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:707 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:706 #, python-format msgid "Locating zip file for %(name)s: %(link)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:711 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:748 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:747 msgid "Install Plugin Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:712 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:711 #, python-format msgid "Unable to locate a plugin zip file for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:716 #, python-format msgid "Downloading plugin zip attachment: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:722 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:721 #, python-format msgid "Installing plugin: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:734 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #, python-format msgid "Plugin installed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:735 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:315 msgid "Plugin {0} successfully installed under {1} plugins. You may have to restart calibre for the plugin to take effect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:748 msgid "A problem occurred while installing this plugin. This plugin will now be uninstalled. Please post the error message in details below into the forum thread for this plugin and restart Calibre." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:774 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:773 msgid "Version history missing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:775 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:774 #, python-format msgid "Unable to find the version history for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:781 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:350 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:783 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:782 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:351 #, python-format msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:787 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:786 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:357 msgid "Must restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:788 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:787 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:358 #, python-format msgid "You must restart calibre before you can configure the %s plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:795 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:339 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:797 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:796 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:340 #, python-format msgid "The plugin: %s cannot be disabled" @@ -9255,11 +9256,11 @@ msgid "Restoring database was successful. %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:94 -msgid "Your list of books, with all their metadata is stored in a single file, called a database. In addition, metadata for each individual book is stored in that books' folder, as a backup.
This operation will rebuild the database from the individual book metadata. This is useful if the database has been corrupted and you get a blank list of books. Note that restoring only restores books, not any settings stored in the database, or any custom recipes.
Do you want to restore the database?" +msgid "Your list of books, with all their metadata is stored in a single file, called a database. In addition, metadata for each individual book is stored in that books' folder, as a backup.
This operation will rebuild the database from the individual book metadata. This is useful if the database has been corrupted and you get a blank list of books.
Do you want to restore the database?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:129
msgid "Restoring database failed, click Show details to see details"
msgstr ""
@@ -10314,7 +10315,7 @@ msgid "Regular expression (?P Enter a template to be used to create a link for\n"
"an author in the books information dialog. This template will\n"
@@ -12462,15 +12467,15 @@ msgid ""
"{author_sort}, and any template function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:256
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:260
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:261
msgid "Note that comments will always be displayed at the end, regardless of the position you assign here."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:259
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:263
msgid ""
"A comma-separated list of categories in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12480,11 +12485,11 @@ msgid ""
"then the tags will be displayed each on their own line."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:269
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:270
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12493,21 +12498,21 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:275
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:276
msgid ""
"If a Tag Browser category has more than this number of items, it is divided\n"
"up into subcategories. If the partition method is set to disable, this value is ignored."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:274
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:278
msgid "Categories not to partition:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:279
msgid ""
"A comma-separated list of categories that are not to\n"
"be partitioned even if the number of items is larger than\n"
@@ -12516,31 +12521,31 @@ msgid ""
"a few top-level elements."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:284
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:281
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:285
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:282
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:286
msgid "Use &alternating row colors in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:284
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:288
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:285
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:289
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:286
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:290
msgid "When showing cover browser in separate window, show it &fullscreen"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:291
#, python-format
msgid "You can press the %s keys to toggle full screen mode."
msgstr ""
@@ -14043,40 +14048,40 @@ msgstr ""
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:744
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:781
msgid "Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:749
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:786
msgid "Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:836
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:477
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:873
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:484
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:913
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:933
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:942
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:950
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:970
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:979
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:914
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:951
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:934
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:943
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:971
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:980
#, python-format
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:962
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:999
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1000
#, python-format
msgid "The saved search name %s is already used."
msgstr ""
@@ -14476,7 +14481,7 @@ msgstr ""
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:793
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:794
msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray."
msgstr ""
@@ -14582,7 +14587,7 @@ msgid "Options to customize the ebook viewer"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:28
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:969
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:972
msgid "Remember last used window size"
msgstr ""
@@ -14656,11 +14661,11 @@ msgstr ""
msgid "The standard font type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:124
msgid "Still editing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:125
msgid "You are in the middle of editing a keyboard shortcut first complete that, by clicking outside the shortcut editing box."
msgstr ""
@@ -14796,40 +14801,40 @@ msgstr ""
msgid "No results found for:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:431
msgid "&Lookup in dictionary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:399
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:436
msgid "&Search for next occurrence"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:404
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:441
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:137
msgid "Go to..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453
msgid "Next Section"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:417
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:454
msgid "Previous Section"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:419
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456
msgid "Document Start"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:457
msgid "Document End"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:422
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:459
msgid "Section Start"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:423
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:460
msgid "Section End"
msgstr ""
@@ -14935,97 +14940,97 @@ msgstr ""
msgid "Connecting to dict.org to lookup: %s…"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:509
msgid "No such location"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:510
msgid "The location pointed to by this item does not exist."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:561
msgid "Choose ebook"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:562
msgid "Ebooks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:582
#, python-format
msgid ""
"Make font size %(which)s\n"
"Current magnification: %(mag).1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:582
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584
msgid "larger"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:586
msgid "smaller"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:600
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:602
#, python-format
msgid "No matches found for: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:651
msgid "Loading flow..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:722
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:724
#, python-format
msgid "Laying out %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:773
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:776
#, python-format
msgid "Bookmark #%d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:780
msgid "Add bookmark"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:781
msgid "Enter title for bookmark:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:789
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:792
msgid "Manage Bookmarks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:831
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:834
msgid "Loading ebook..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:843
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:846
msgid "Could not open ebook"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:959
msgid "Options to control the ebook viewer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:966
msgid "If specified, viewer window will try to come to the front when started."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:966
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:969
msgid "If specified, viewer window will try to open full screen when started."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:971
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:974
msgid "Print javascript alert and console messages to the console"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:973
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:976
msgid "The position at which to open the specified book. The position is a location as displayed in the top left corner of the viewer."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:980
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:983
msgid ""
"%prog [options] file\n"
"\n"
@@ -15092,8 +15097,13 @@ msgstr ""
msgid "Find previous occurrence"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:114
-msgid "Print eBook"
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:66
+msgid "Failed to render"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:67
+#, python-format
+msgid "Failed to render document %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:104
@@ -15851,7 +15861,7 @@ msgid "Filter the results by the search query. For the format of the search quer
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:160
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1161
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1167
msgid "The maximum width of a single line in the output. Defaults to detecting screen size."
msgstr ""
@@ -15871,11 +15881,16 @@ msgstr ""
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:271
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:274
msgid "The following books were not added as they already exist in the database (see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:296
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:294
+#, python-format
+msgid "Added book ids: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:302
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -15883,51 +15898,51 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:304
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:310
msgid "Assume that each directory has only a single logical book and that all files in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:306
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:308
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:314
msgid "Add books to database even if they already exist. Comparison is done based on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:310
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:316
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:318
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:314
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:320
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:316
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:322
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:318
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:324
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:320
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:326
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:322
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:328
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:357
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:363
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:377
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:383
msgid ""
"%prog remove ids\n"
"\n"
@@ -15935,26 +15950,26 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:392
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
msgid "You must specify at least one book to remove"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:419
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book identified by id. You can get id by using the list command. If the format already exists, it is replaced.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:427
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:433
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:432
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:438
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:442
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -15962,11 +15977,11 @@ msgid ""
"Remove the format fmt from the logical book identified by id. You can get id by using the list command. fmt should be a file extension like LRF or TXT or EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:464
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:477
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:483
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -15975,15 +15990,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:484
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:490
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:493
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:499
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:511
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -15995,37 +16010,37 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "The field to set. Format is field_name:value, for example: {0} tags:tag1,tag2. Use {1} to get a list of all field names. You can specify this option multiple times to set multiple fields. Note: For languages you must use the ISO639 language codes (e.g. en for English, fr for French and so on). For identifiers, the syntax is {0} {2}. For boolean (yes/no) fields use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:528
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:534
msgid "List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:555
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:565
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:571
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:571
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:577
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:578
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:584
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:588
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:594
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:618
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:624
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -16034,28 +16049,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:626
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:632
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:628
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:634
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:630
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:636
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:637
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:643
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:666
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:673
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:679
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -16064,19 +16079,19 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:682
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:688
msgid "This column stores tag like data (i.e. multiple comma separated values). Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:686
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:692
msgid "A dictionary of options to customize how the data in this column will be interpreted. This is a JSON string. For enumeration columns, use --display='{\"enum_values\":[\"val1\", \"val2\"]}'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:700
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:762
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:768
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -16086,29 +16101,29 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:775
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:781
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:779
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:785
msgid ""
"Filter the results by the search query. For the format of the search query, please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:785
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:791
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:528
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:798
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:804
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:845
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:851
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -16120,15 +16135,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:855
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:861
msgid "If the column stores multiple values, append the specified values to the existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:866
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:872
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:886
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:892
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -16137,20 +16152,20 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:892
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:898
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:904
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:910
#, python-format
msgid "You will lose all data in the column: %r. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:906
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:913
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:919
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -16160,15 +16175,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:920
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:926
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:930
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:936
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:941
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:947
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -16181,74 +16196,74 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:958
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:966
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:972
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:973
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:973
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:979
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:976
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:982
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:987
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:984
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:990
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:988
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:994
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:996
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"%prog check_library [options]\n"
"\n"
"Perform some checks on the filesystem representing a library. Reports are {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1003
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1153
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1159
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1006
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1012
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1010
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1016
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1020
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1044
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1050
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1078
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1084
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -16263,16 +16278,16 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1092
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1098
msgid "Really do the recovery. The command will not run unless this option is specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1105
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1111
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1142
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1148
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -16280,29 +16295,29 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1150
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1156
msgid "Output only the number of items in a category instead of the counts per item within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1155
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1161
msgid "The character to put around the category value in CSV mode. Default is quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1158
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1164
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1164
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1170
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1208
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1281
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -16328,17 +16343,26 @@ msgstr ""
msgid "%(tt)sAverage rating is %(rating)3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3481
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:218
+msgid "restored preference "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:223
+#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
+msgid "creating custom column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3488
#, python-format
msgid " Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:207
#, python-format
msgid "Hide column %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212
#, python-format
msgid "Sort on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:213
msgid "Ascending"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:216
msgid "Descending"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:228
#, python-format
msgid "Change text alignment for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230
msgid "Left"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230
msgid "Right"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231
msgid "Center"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:250
msgid "Show column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:262
msgid "Shrink column if it is too wide to fit"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:260
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:265
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:961
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:966
msgid "Dropping onto a device is not supported. First add the book to the calibre library."
msgstr ""
@@ -10759,12 +10760,12 @@ msgid "LRF Viewer toolbar"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:462
msgid "Next Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:426
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463
msgid "Previous Page"
msgstr ""
@@ -12329,131 +12330,135 @@ msgstr ""
msgid "System default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:139
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:139
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:140
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:140
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:142
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:143
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:142
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:143
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:144
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:530
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:147
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:148
msgid "Partitioned"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:180
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
msgid "Column coloring"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:233
msgid " or "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:238
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:239
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:240
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:241
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:242
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:243
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:241
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:244
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:245
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:246
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:247
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:245
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:248
msgid "User interface &style (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:246
-msgid "Main Interface"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:247
-msgid "Select displayed metadata"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:248
-msgid "Move up"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:249
-msgid "Move down"
+msgid "Show &tooltips in the book list"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:250
-msgid "Default author link template:"
+msgid "Main Interface"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:251
+msgid "Select displayed metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:252
+msgid "Move up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:253
+msgid "Move down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:254
+msgid "Default author link template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:255
msgid ""
"