diff --git a/resources/template-functions.json b/resources/template-functions.json index cdad0f5217..fe4379d701 100644 --- a/resources/template-functions.json +++ b/resources/template-functions.json @@ -20,7 +20,7 @@ "test": "def evaluate(self, formatter, kwargs, mi, locals, val, value_if_set, value_not_set):\n if val:\n return value_if_set\n else:\n return value_not_set\n", "eval": "def evaluate(self, formatter, kwargs, mi, locals, template):\n from formatter import eval_formatter\n template = template.replace('[[', '{').replace(']]', '}')\n return eval_formatter.safe_format(template, locals, 'EVAL', None)\n", "multiply": "def evaluate(self, formatter, kwargs, mi, locals, x, y):\n x = float(x if x else 0)\n y = float(y if y else 0)\n return unicode(x * y)\n", - "format_date": "def evaluate(self, formatter, kwargs, mi, locals, val, format_string):\n print val\n if not val:\n return ''\n try:\n dt = parse_date(val)\n s = format_date(dt, format_string)\n except:\n s = 'BAD DATE'\n return s\n", + "format_date": "def evaluate(self, formatter, kwargs, mi, locals, val, format_string):\n if not val:\n return ''\n try:\n dt = parse_date(val)\n s = format_date(dt, format_string)\n except:\n s = 'BAD DATE'\n return s\n", "capitalize": "def evaluate(self, formatter, kwargs, mi, locals, val):\n return capitalize(val)\n", "count": "def evaluate(self, formatter, kwargs, mi, locals, val, sep):\n return unicode(len(val.split(sep)))\n", "lowercase": "def evaluate(self, formatter, kwargs, mi, locals, val):\n return val.lower()\n", diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index b6768fffff..0ff8a11443 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.7.47\n" -"POT-Creation-Date: 2011-02-25 11:01+MST\n" -"PO-Revision-Date: 2011-02-25 11:01+MST\n" +"Project-Id-Version: calibre 0.7.48\n" +"POT-Creation-Date: 2011-03-04 12:40+MST\n" +"PO-Revision-Date: 2011-03-04 12:40+MST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -30,7 +30,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:405 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:455 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 @@ -47,9 +47,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:31 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:32 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:74 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:380 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:385 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:617 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:414 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:419 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:659 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:54 @@ -59,8 +59,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:124 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:126 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1146 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1164 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23 @@ -72,19 +72,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:77 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txtz.py:23 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:42 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:68 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:81 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:124 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:158 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:665 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:880 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:43 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:69 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:159 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:667 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:882 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:884 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:963 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1029 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:981 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:986 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1052 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:152 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:65 @@ -116,7 +116,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:314 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:308 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:315 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:332 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:160 @@ -125,36 +125,36 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1092 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:145 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:185 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:732 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:235 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:244 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:972 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1165 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:185 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:197 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:215 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:216 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:452 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:458 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:468 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1609 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1712 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2616 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2618 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2749 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:486 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:492 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:502 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1706 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2790 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2792 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2925 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:233 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:158 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:161 @@ -742,22 +742,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:908 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:914 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:944 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:262 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:259 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:272 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2480 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:150 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:909 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:915 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:264 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:288 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:301 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2654 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2553 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:65 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:634 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2442 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2616 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2634 msgid "Catalog" msgstr "" @@ -801,20 +802,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:73 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:230 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:73 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:76 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:170 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:120 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:123 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:126 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:190 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:197 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:220 msgid "Getting list of books on device..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:264 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:268 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:199 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:201 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:249 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:251 msgid "Transferring books to device..." msgstr "" @@ -822,8 +823,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:299 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:382 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:223 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:254 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:273 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:304 msgid "Adding books to device metadata listing..." msgstr "" @@ -833,8 +834,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:299 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:331 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:260 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:310 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328 msgid "Removing books from device..." msgstr "" @@ -842,13 +843,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:335 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:342 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:285 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:290 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:335 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:340 msgid "Removing books from device metadata listing..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:397 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:320 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:370 msgid "Sending metadata to device..." msgstr "" @@ -937,7 +938,7 @@ msgstr "" msgid "Communicate with the BOOX eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:132 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:133 msgid "Comma separated list of directories to send e-books to on the device. The first one that exists will be used." msgstr "" @@ -967,7 +968,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:43 msgid "John Schember" msgstr "" @@ -1044,7 +1045,7 @@ msgid "The Kobo supports only one collection currently: the \"Im_Reading\" list. msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:368 msgid "Not Implemented" msgstr "" @@ -1250,21 +1251,21 @@ msgstr "" msgid "The main memory of %s is read only. This usually happens because of file system errors." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:843 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:842 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:844 msgid "The reader has no storage card in this slot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:845 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:846 msgid "Selected slot: %s is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:874 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:875 msgid "There is insufficient free space in main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:876 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:878 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:877 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:879 msgid "There is insufficient free space on the storage card" msgstr "" @@ -1301,11 +1302,11 @@ msgstr "" msgid "Extra customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42 msgid "Communicate with an eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "Get device information..." msgstr "" @@ -2172,103 +2173,105 @@ msgstr "" msgid "TEMPLATE ERROR" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:542 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:576 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:554 msgid "No" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:542 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:576 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:554 msgid "Yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:616 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:658 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:112 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:418 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:977 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:996 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:576 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:617 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:659 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:423 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:978 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:618 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:660 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:619 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:661 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:620 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:662 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:40 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:214 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:380 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211 msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:622 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:664 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:368 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1180 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:161 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:753 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:755 msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:168 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:385 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:114 msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:625 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:667 msgid "Language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1172 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:629 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:671 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:259 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271 msgid "Published" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:631 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:673 msgid "Rights" msgstr "" @@ -2602,8 +2605,8 @@ msgstr "" msgid "Cover saved to file " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1328 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1448 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1346 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1471 msgid "Cover" msgstr "" @@ -2648,74 +2651,74 @@ msgstr "" msgid "All articles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:270 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1449 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1472 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1450 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1473 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1451 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1474 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1452 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1475 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1453 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1476 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1454 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1477 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1455 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1478 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1456 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1479 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1457 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1480 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1458 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1481 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1459 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1482 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1460 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1483 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1461 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1484 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1462 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1485 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1463 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1486 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1464 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1487 msgid "Main Text" msgstr "" @@ -2736,7 +2739,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:753 msgid "Rating" msgstr "" @@ -3233,132 +3237,156 @@ msgstr "" msgid "Choose Files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:29 -msgid "Add books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 -msgid "Add books to the calibre library/device from files on your computer" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:31 -msgid "A" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:37 -msgid "Add books from a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:39 -msgid "Add books from directories, including sub-directories (One book per directory, assumes every ebook file is the same book in a different format)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:43 -msgid "Add books from directories, including sub directories (Multiple books per directory, assumes every ebook file is a different book)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:47 -msgid "Add Empty book. (Book entry with no formats)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:48 -msgid "Shift+Ctrl+E" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:49 -msgid "Add from ISBN" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:113 -msgid "Adding" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:114 -msgid "Creating book records from ISBNs" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 -msgid "Uploading books to device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:308 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:529 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:29 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:31 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:33 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:34 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:35 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:37 msgid "SNB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:38 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:39 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:227 -msgid "Supported books" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:46 +msgid "Add books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:267 -msgid "Merged some books" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:47 +msgid "Add books to the calibre library/device from files on your computer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:48 +msgid "A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:54 +msgid "Add books from a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:56 +msgid "Add books from directories, including sub-directories (One book per directory, assumes every ebook file is the same book in a different format)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:60 +msgid "Add books from directories, including sub directories (Multiple books per directory, assumes every ebook file is a different book)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:64 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:65 +msgid "Shift+Ctrl+E" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:66 +msgid "Add from ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:68 +msgid "Add files to selected book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:69 +msgid "Shift+A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:89 +msgid "Are you sure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:90 +msgid "Are you sure you want to add the same files to all %d books? If the formatalready exists for a book, it will be replaced." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:96 +msgid "Select book files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 +msgid "Adding" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:168 +msgid "Creating book records from ISBNs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:297 +msgid "Uploading books to device." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:268 +msgid "Supported books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:271 +msgid "Select books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:308 +msgid "Merged some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:309 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:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:329 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:330 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:310 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:315 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:375 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:85 @@ -3366,11 +3394,11 @@ msgstr "" msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:369 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:334 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:375 msgid "No book files found" msgstr "" @@ -3383,7 +3411,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:561 msgid "Fetch annotations (experimental)" msgstr "" @@ -3594,7 +3622,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:689 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:911 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:186 @@ -3623,19 +3651,19 @@ msgstr "" msgid "No existing calibre library was found at %s. It will be removed from the list of known libraries." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:394 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:400 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:782 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "You cannot change libraries while using the environment variable CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:401 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -3656,7 +3684,7 @@ msgid "Bulk convert" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507 msgid "Cannot convert" msgstr "" @@ -3778,14 +3806,14 @@ msgid "Main memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:495 msgid "Storage Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:177 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:497 msgid "Storage Card B" msgstr "" @@ -3798,19 +3826,19 @@ msgid "None of the selected books are on the device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:200 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:291 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:246 msgid "Some of the selected books are on the attached device. Where do you want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:258 msgid "The selected books will be permanently deleted and the files removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:283 msgid "The selected books will be permanently deleted from your device. Are you sure?" msgstr "" @@ -3997,7 +4025,7 @@ msgstr "" msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:81 msgid " fetched." msgstr "" @@ -4144,7 +4172,7 @@ msgid "Click the show details button to see which ones." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:758 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:760 msgid "Show book details" msgstr "" @@ -4291,7 +4319,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:821 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:838 msgid "No books" msgstr "" @@ -4436,11 +4464,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:149 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:85 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:87 @@ -4472,32 +4500,34 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:434 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1170 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "Path" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:56 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:24 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:118 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124 msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:981 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1173 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 msgid "Collections" msgstr "" @@ -4510,16 +4540,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:367 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:379 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:346 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:433 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:239 +msgid "Paste Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:240 +msgid "Copy Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:466 msgid "Double-click to open Book Details window" msgstr "" @@ -4599,7 +4639,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:86 #: /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 @@ -4998,7 +5038,7 @@ msgid "Style the selected text block" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:139 msgid "Normal" msgstr "" @@ -6278,177 +6318,177 @@ msgstr "" msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:187 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:310 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:324 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:346 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:351 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:386 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:401 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:418 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:428 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:505 msgid "Send specific format to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:506 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:549 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:612 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1139 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1156 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:299 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:644 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:695 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:696 msgid "There was a temporary error talking to the device. Please unplug and reconnect the device and or reboot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:722 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:739 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:741 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:822 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:839 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:841 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:858 msgid "%i of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:844 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:861 msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:854 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:857 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:861 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:858 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1001 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1133 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1018 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1150 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:964 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1046 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1063 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1100 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1117 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1140 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1157 msgid "Could not upload the following books to the device, as no suitable formats were found. Convert the book(s) to a format supported by your device first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1204 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1221 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1205 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1222 msgid "
Cannot upload books to device there is no more free space available " msgstr "" @@ -6706,7 +6746,7 @@ 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/library/models.py:1169 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1188 msgid "Format" msgstr "" @@ -6883,9 +6923,11 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:979 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:575 msgid "Date" msgstr "" @@ -6911,47 +6953,63 @@ msgid "Author sort" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1371 msgid "Invalid author name" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:118 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1325 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1372 msgid "Author names cannot contain & characters." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:74 msgid "Manage authors" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:75 msgid "Sort by author" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:76 msgid "Sort by author sort" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:74 -msgid "Reset all the author sort values to a value automatically generated from the author. Exactly how this value is automatically generated can be controlled via Preferences->Advanced->Tweaks" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:77 +msgid "" +"Reset all the author sort values to a value automatically\n" +"generated from the author. Exactly how this value is automatically\n" +"generated can be controlled via Preferences->Advanced->Tweaks" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:80 msgid "Recalculate all author sort values" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:81 +msgid "" +"Copy author sort to author for every author. You typically use this button\n" +"after changing Preferences->Advanced->Tweaks->Author sort name algorithm" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:83 +msgid "Copy all author sort values to author" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:62 msgid "Author Sort" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63 msgid "ISBN" msgstr "" @@ -7086,22 +7144,22 @@ msgid "Working" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:260 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:414 msgid "Lower Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:413 msgid "Upper Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:262 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:416 msgid "Title Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:417 msgid "Capitalize" msgstr "" @@ -7879,21 +7937,21 @@ msgid "Password needed" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:233 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:234 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Password:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:235 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:172 msgid "&Show password" @@ -7966,173 +8024,201 @@ msgstr "" msgid "Change the contents of the saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:35 -msgid "&Search:" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:30 +msgid "%s news sources" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:125 msgid "Need username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:126 msgid "You must provide a username and/or password to use this news source." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:168 msgid "Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:169 msgid "(optional)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:170 msgid "(required)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:187 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:194 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:209 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:211 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:240 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:245 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:250 msgid "Download all scheduled new sources" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:354 msgid "No internet connection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:355 msgid "Cannot download news as no internet connection is active" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:321 -msgid "Recipes" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 +msgid "&Search:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 -msgid "Download all scheduled recipes at once" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 -msgid "Download &all scheduled" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:229 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "day" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 msgid "Monday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 msgid "Tuesday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "Wednesday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:224 msgid "Thursday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:225 msgid "Friday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:226 msgid "Saturday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 msgid "Sunday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:228 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:230 msgid "Interval at which to download this recipe. A value of zero means that the recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:253 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:268 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:232 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:236 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:237 msgid "&Schedule" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:238 msgid "Add &title as tag" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:239 msgid "&Extra tags:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:240 +msgid "Maximum number of copies (issues) of this recipe to keep. Set to 0 to keep all (disable)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:241 +msgid "&Keep at most:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:242 +msgid "" +"
When set, this option will cause calibre to keep, at most, the specified number of issues of this periodical. Every time a new issue is downloaded, the oldest one is deleted, if the total is larger than this number.\n" +"
Note that this feature only works if you have the option to add the title as tag checked, above.\n" +"
Also, the setting for deleting periodicals older than a number of days, below, takes priority over this setting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:245 +msgid "all issues" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:246 +msgid " issues" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:247 msgid "&Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:248 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:226 -msgid "Delete downloaded news older than the specified number of days. Set to zero to disable." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:249 +msgid "&Delete downloaded news older than:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:228 -msgid "Delete downloaded news older than " +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:250 +msgid "" +"
Delete downloaded news older than the specified number of days. Set to zero to disable.\n" +"
You can also control the maximum number of issues of a specific periodical that are kept by clicking the Advanced tab for that periodical above."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:252
+msgid "never delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:254
+msgid "Download all scheduled news sources at once"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:255
+msgid "Download &all scheduled"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:41
@@ -8246,12 +8332,12 @@ msgid "Choose formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:98
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:129
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:136
msgid "Publishers"
msgstr ""
@@ -8260,27 +8346,27 @@ msgid " (not on any book)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:176
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:205
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:207
msgid "Invalid name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:177
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:208
msgid "That name contains leading or trailing periods, multiple periods in a row or spaces before or after periods."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:213
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:185
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
msgid "Name already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:184
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:214
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:216
msgid "That name is already used, perhaps with different case."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:229
msgid "The current tag category will be permanently deleted. Are you sure?"
msgstr ""
@@ -8386,12 +8472,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1275
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1319
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1276
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1320
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -8561,6 +8647,10 @@ msgstr ""
msgid "Choose a recipe file"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:321
+msgid "Recipes"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:361
msgid "You will lose any unsaved changes. To save your changes, click the Add/Update recipe button. Continue?"
msgstr ""
@@ -8792,34 +8882,34 @@ msgstr ""
msgid "Shift+Alt+T"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:157
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:29
msgid "version"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:30
msgid "created by Kovid Goyal"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:175
msgid "Connected "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:188
msgid "Update found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:224
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:233
msgid "Book Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:216
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:225
msgid "Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/init.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/init.py:235
msgid "Shift+Alt+D"
msgstr ""
@@ -8907,7 +8997,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:943
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:995
msgid "Card A"
msgstr ""
@@ -8916,7 +9006,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:945
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:997
msgid "Card B"
msgstr ""
@@ -8981,12 +9071,12 @@ msgid "Edit template"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:286
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:301
msgid "Size (MB)"
msgstr ""
@@ -8994,34 +9084,68 @@ msgstr ""
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:735
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1289
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:710
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:624
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:540
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:554
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:564
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:954
+msgid "checked"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:624
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:540
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:554
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:564
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:954
+#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
+msgid "yes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:626
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:542
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:551
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:561
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:956
+msgid "unchecked"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:626
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:542
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:551
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:561
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:956
+#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
+msgid "no"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:754
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1308
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:748
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:741
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1310
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:976
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:995
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:980
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1269
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1288
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1272
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
msgid "Double click to edit me
"
msgstr ""
@@ -9344,7 +9468,7 @@ msgid "%s %s for: %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:291
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:160
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:164
msgid "Done"
msgstr ""
@@ -9353,7 +9477,7 @@ msgid "Successfully downloaded metadata for %d out of %d books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:294
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:757
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:759
msgid "Details"
msgstr ""
@@ -9454,17 +9578,17 @@ msgstr ""
msgid "&Configure metadata from file name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:140
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:141
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:165
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -9540,27 +9664,35 @@ msgstr ""
msgid "Do you really want to delete column %s and all its data?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:82
msgid "Here you can re-arrange the layout of the columns in the calibre library book list. You can hide columns by unchecking them. You can also create your own, custom columns."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:84
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:88
+msgid "Move column up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84
msgid "Remove a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:86
msgid "Add a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:88
msgid "Edit settings of a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:96
+msgid "Move column down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:91
msgid "Add &custom column"
msgstr ""
@@ -9570,158 +9702,203 @@ msgid "Restore settings to default values. Only settings for the currently selec
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:19
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:18
msgid "Text, column shown in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:22
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:21
msgid "Comma separated text, like tags, shown in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:25
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:24
msgid "Long text, like comments, not shown in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:27
msgid "Text column for keeping series-like information"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:30
msgid "Text, but with a fixed set of permitted values"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:34
msgid "Floating point numbers"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:37
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:36
msgid "Integers"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:38
msgid "Ratings, shown with stars"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:138
msgid "Yes/No"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:44
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:43
msgid "Column built from other columns"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+msgid "Create a custom column"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+msgid "Quick create:"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:142
+msgid "Modified Date"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+msgid "Number"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+msgid "Text"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+msgid "Edit a custom column"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
msgid "No column selected"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
msgid "No column has been selected"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:79
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
msgid "Selected column is not a user-defined column"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:139
+msgid "My Tags"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:140
+msgid "My Series"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:141
+msgid "My Rating"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:168
msgid "No lookup name was provided"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:170
msgid "The lookup name must contain only lower case letters, digits and underscores, and start with a letter"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:173
msgid "Lookup names cannot end with _index, because these names are reserved for the index of a series column."
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No column heading was provided"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:193
msgid "The lookup name %s is already used"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:205
msgid "The heading %s is already used"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:162
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:216
msgid "You must enter a template for composite columns"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:224
msgid "You must enter at least one value for enumeration columns"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:228
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:232
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:171
-msgid "Create or edit custom columns"
-msgstr ""
-
-#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:176
msgid "&Lookup name"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:177
msgid "Column &heading"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:178
msgid "Used for searching the column. Must contain only digits and lower case letters."
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:179
msgid "Column heading in the library view and category name in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:150
-msgid "Column &type"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:180
+msgid "&Column type"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:151
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:181
msgid "What kind of information will be kept in the column."
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:182
msgid ""
"
Date format. Use 1-4 'd's for day, 1-4 'M's for month, and 2 or 4 'y's for year.
\n" "For example:\n" @@ -9732,48 +9909,58 @@ msgid "" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:188 msgid "Use MMM yyyy for month + year, yyyy for year only" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:189 msgid "Default: dd MMM yyyy." msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:190 msgid "Format for &dates" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:161 -msgid "Field template. Uses the same syntax as save templates." -msgstr "" - -#: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:162 -msgid "Similar to save templates. For example, {title} {isbn}" -msgstr "" - -#: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:163 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:170 -msgid "Default: (nothing)" -msgstr "" - -#: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:191 msgid "&Template" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:192 +msgid "Field template. Uses the same syntax as save templates." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:193 +msgid "Similar to save templates. For example, {title} {isbn}" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:202 +msgid "Default: (nothing)" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:195 +msgid "&Sort/search column by" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:196 +msgid "How this column should handled in the GUI when sorting and searching" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:197 msgid "Values" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:198 msgid "" "A comma-separated list of permitted values. The empty value is always\n" "included, and is the default. For example, the list 'one,two,three' has\n" @@ -9781,7 +9968,7 @@ msgid "" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:201 msgid "The empty string is always the first value" msgstr "" @@ -10439,7 +10626,7 @@ msgid "Here you can control how calibre will save your books when you click the msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:379 msgid "Failed to start content server" msgstr "" @@ -10777,25 +10964,25 @@ msgid "Apply any changes you made to this tweak" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:273 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:646 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:277 msgid "Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433 msgid "Choose saved search or enter name for new saved search" msgstr "" @@ -10871,159 +11058,159 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:363 msgid "Rename %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:320 msgid "Edit sort for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:321 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:324 msgid "Add %s to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:337 msgid "Children of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344 msgid "Remove %s from category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:347 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:350 msgid "Search for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355 msgid "Search for everything but %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:367 msgid "Add sub-category to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:371 msgid "Delete user category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:377 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:381 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390 msgid "Search for books in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:394 msgid "Search for books not in category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:397 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:406 msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:409 msgid "Manage Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:413 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421 msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:424 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:428 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431 msgid "Change sub-categorization scheme" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:743 msgid "The grouped search term name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1007 msgid "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1012 msgid "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1054 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1095 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:405 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1281 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1297 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1305 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1325 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1344 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1352 msgid "Rename user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1282 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1326 msgid "You cannot use periods in the name when renaming user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1298 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1306 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1345 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1353 msgid "The name %s is already used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1329 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1376 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1330 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1377 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1715 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1777 msgid "New Category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1766 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1769 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1828 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1831 msgid "Delete user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1767 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1829 msgid "%s is not a user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1770 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1832 msgid "%s contains items. Do you really want to delete it?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1791 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853 msgid "Remove category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1792 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1854 msgid "User category %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1811 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1873 msgid "Add to user category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1812 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1874 msgid "A user category %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1935 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1997 msgid "Find item in tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2000 msgid "" "Search for items. This is a \"contains\" search; items containing the\n" "text anywhere in the name will be found. You can limit the search\n" @@ -11033,59 +11220,59 @@ msgid "" "containing the text \"foo\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1947 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2009 msgid "ALT+f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1951 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2013 msgid "F&ind" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1952 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2014 msgid "Find the first/next matching item" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2021 msgid "Collapse all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2042 msgid "No More Matches.
Click Find again to go to first match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1993 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2055 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1993 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2055 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1994 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2056 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1997 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2059 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2003 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2003 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2008 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2070 msgid "When selecting multiple entries in the Tag Browser match any or all of them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2012 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2015 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2077 msgid "Add your own categories to the Tag Browser" msgstr "" @@ -11143,46 +11330,46 @@ msgstr "" msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:302 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:303 msgid "You have started calibre in debug mode. After you quit calibre, the debug log will be available in the file: %s
The log will be displayed automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:493
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:495
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:518
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:534
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:569
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:571
msgid "is the result of the efforts of many volunteers from all over the world. If you find it useful, please consider donating to support its development. Your donation helps keep calibre development going."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:595
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:597
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:598
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:600
msgid ""
" is communicating with the device!
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:602
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:604
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:669
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray."
msgstr ""
@@ -11686,35 +11873,27 @@ msgstr ""
msgid "Print eBook"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:279
-msgid "Copy Image"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:280
-msgid "Paste Image"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:412
msgid "Change Case"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:415
msgid "Swap Case"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:925
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:955
msgid "Drag to resize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:990
msgid "Show"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:967
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:997
msgid "Hide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1004
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1034
msgid "Toggle"
msgstr ""
@@ -11977,50 +12156,28 @@ msgstr ""
msgid "Turn on the &content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:319
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:330
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:322
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:333
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:325
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:336
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:328
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:329
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:339
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:340
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:589
-msgid "unchecked"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:589
-#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
-msgid "no"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:582
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:592
-msgid "checked"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:582
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:592
-#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
-msgid "yes"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:586
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:558
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:586
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:558
msgid "empty"
msgstr ""
@@ -12313,65 +12470,65 @@ msgstr ""
msgid "Folders raising exception"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:43
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:44
msgid "Path to the calibre library. Default is to use the path stored in the settings."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:122
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:123
msgid ""
"%prog list [options]\n"
"\n"
"List the books available in the calibre database.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:130
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:131
msgid ""
"The fields to display when listing books in the database. Should be a comma separated list of fields.\n"
"Available fields: %s\n"
"Default: %%default. The special field \"all\" can be used to select all fields. Only has effect in the text output format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:137
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:138
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
"Default: %%default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:139
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:140
msgid "Sort results in ascending order"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:141
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:142
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. Default is to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:143
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1043
msgid "The maximum width of a single line in the output. Defaults to detecting screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:145
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:145
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:146
msgid "The prefix for all file paths. Default is the absolute path to the library folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:167
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:168
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:174
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:175
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:246
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:247
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:270
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:271
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -12379,65 +12536,65 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:279
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:280
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:281
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:283
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:284
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:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:286
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:288
msgid "Set the title of the added empty book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:289
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:290
msgid "Set the authors of the added empty book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:291
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:292
msgid "Set the ISBN of the added empty book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:317
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:318
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:334
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog remove ids\n"
"\n"
"Remove the books identified by ids from the database. ids should be a comma separated list of id numbers (you can get id numbers by using the list command). For example, 23,34,57-85\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:350
msgid "You must specify at least one book to remove"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:368
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:369
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:383
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:384
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:388
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:396
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:397
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -12445,11 +12602,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:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:414
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:431
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:432
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -12458,15 +12615,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:439
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:449
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:464
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -12477,11 +12634,11 @@ msgid ""
"show_metadata command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
msgid "You must specify an id and a metadata file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:499
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:500
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -12490,27 +12647,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:507
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:509
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:510
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:511
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:512
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:519
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:541
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:542
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:554
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:555
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -12519,19 +12676,19 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:563
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:564
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:567
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:568
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:581
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:582
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:643
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -12541,29 +12698,29 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:656
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:657
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:660
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
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:666
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:667
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:499
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:679
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:680
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:725
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:726
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -12575,15 +12732,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:736
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:737
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:747
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:748
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:766
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:767
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -12592,19 +12749,19 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:773
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:774
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:785
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:786
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:787
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:788
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:793
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:794
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -12614,15 +12771,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:801
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:811
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:821
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:822
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -12635,73 +12792,73 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:840
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:847
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:848
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:848
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:854
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:855
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:857
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:858
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:862
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:863
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:865
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:866
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:869
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:870
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:878
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:884
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:885
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:888
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:892
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:895
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:896
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:925
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:926
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:958
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:959
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -12716,15 +12873,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:973
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
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:986
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:987
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1023
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -12732,29 +12889,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:1031
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
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:1036
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
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:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1040
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1083
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1084
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1152
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1153
msgid ""
"%%prog command [options] [arguments]\n"
"\n"
@@ -12774,39 +12931,43 @@ msgstr ""
msgid "The label must contain only lower case letters, digits and underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:62
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:63
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:941
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:993
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2775
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
msgid "
Migrating old database to ebook library in %s