diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 6a837e5833..03016f965e 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.42\n" -"POT-Creation-Date: 2011-01-21 14:53+MST\n" -"PO-Revision-Date: 2011-01-21 14:53+MST\n" +"Project-Id-Version: calibre 0.7.43\n" +"POT-Creation-Date: 2011-01-28 12:03+MST\n" +"PO-Revision-Date: 2011-01-28 12:03+MST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -43,7 +43,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1894 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1896 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:236 #: /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:73 @@ -53,7 +53,7 @@ msgstr "" #: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:365 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66 @@ -69,6 +69,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:91 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:56 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:42 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:68 @@ -80,9 +81,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:878 #: /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:952 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:957 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1023 +#: /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/reader.py:143 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:150 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:64 @@ -112,8 +113,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:331 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:364 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:307 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:331 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:334 @@ -123,14 +124,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:145 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1053 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1066 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1069 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:67 #: /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:724 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:236 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:245 @@ -145,18 +146,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:191 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:402 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1474 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1575 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2415 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2417 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2548 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:432 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1529 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1630 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2470 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2472 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2603 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:158 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:161 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:78 @@ -471,57 +472,57 @@ msgid "This profile is intended for the SONY PRS-900." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:90 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:522 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:538 msgid "This profile is intended for the Microsoft Reader." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:101 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:533 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:549 msgid "This profile is intended for the Mobipocket books." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:114 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:546 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:562 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:126 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:558 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:574 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:136 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:582 msgid "This profile is intended for the Cybook G3." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:149 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:579 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:595 msgid "This profile is intended for the Cybook Opus." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:161 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:592 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:608 msgid "This profile is intended for the Amazon Kindle." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:173 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:642 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:658 msgid "This profile is intended for the Irex Illiad." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:185 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:655 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:671 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:198 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:669 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:685 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:210 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:683 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:699 msgid "This profile is intended for the B&N Nook." msgstr "" @@ -554,22 +555,30 @@ msgid "This profile is intended for the SONY PRS-300." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:502 +msgid "Suitable for use with any e-ink device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:509 +msgid "Suitable for use with any large screen e-ink device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:518 msgid "This profile is intended for the 5-inch JetBook." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:527 msgid "This profile is intended for the SONY PRS line. The 500/505/700 etc, in landscape mode. Mainly useful for comics." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:618 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:634 msgid "This profile is intended for the Amazon Kindle DX." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:711 msgid "This profile is intended for the B&N Nook Color." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:706 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:722 msgid "This profile is intended for the Sanda Bambook." msgstr "" @@ -641,11 +650,11 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:61 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:62 msgid "Comma separated list of directories to send e-books to on the device. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:107 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:108 msgid "Communicate with S60 phones." msgstr "" @@ -712,19 +721,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:886 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:892 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:922 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:219 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:232 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:262 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:244 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:257 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:150 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:65 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2242 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2260 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:625 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2297 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2315 msgid "Catalog" msgstr "" @@ -987,7 +996,7 @@ msgid "The Kobo supports only one collection currently: the \"Im_Reading\" list. msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:295 msgid "Not Implemented" msgstr "" @@ -1666,27 +1675,27 @@ msgstr "" msgid "Replacement to replace the text found with sr3-search." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:671 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:673 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:729 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:731 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:736 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:738 msgid "Failed to parse date/time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:891 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:893 msgid "Converting input to HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:918 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:920 msgid "Running transforms on ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1006 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1008 msgid "Creating" msgstr "" @@ -2093,13 +2102,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:544 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:546 msgid "No" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:544 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:546 msgid "Yes" msgstr "" @@ -2283,7 +2292,7 @@ msgid "Download covers from openlibrary.org" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:108 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:137 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:140 msgid "ISBN: %s not found" msgstr "" @@ -2291,26 +2300,28 @@ msgstr "" msgid "Download covers from librarything.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:129 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:130 msgid "LibraryThing.com timed out. Try again later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:89 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 msgid "Could not fetch cover as server is experiencing high load. Please try again later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:140 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:93 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:143 msgid "LibraryThing.com server error. Try again later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:177 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:270 +msgid "To use librarything.com you must sign up for a %sfree account%s and enter your username and password separated by a : below." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:240 msgid "Download covers from Douban.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:249 msgid "Douban.com API timed out. Try again later." msgstr "" @@ -2359,7 +2370,7 @@ msgid "Downloads social metadata from amazon.com" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 -msgid "Downloads series/tags/rating information from librarything.com" +msgid "Downloads series/covers/rating information from librarything.com" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:25 @@ -2466,11 +2477,7 @@ msgstr "" msgid "The publisher of the book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:90 -msgid " not found." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 msgid "" "\n" "%prog [options] ISBN\n" @@ -2541,10 +2548,14 @@ msgid "Cover saved to file " msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1442 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1448 msgid "Cover" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:14 +msgid "Metadata source" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22 msgid "Modify images to meet Palm device size limitations." msgstr "" @@ -2582,70 +2593,70 @@ msgstr "" msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1443 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1449 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1444 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1450 #: /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:1445 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1451 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1446 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1452 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1447 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1453 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1448 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1454 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1449 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1455 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1450 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1456 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1451 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1457 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1452 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1458 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1453 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1459 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1454 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1460 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1455 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1461 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1456 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1462 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1457 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1463 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1458 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1464 msgid "Main Text" msgstr "" @@ -2655,7 +2666,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:220 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:691 msgid "Book %s of %s" msgstr "" @@ -2914,7 +2925,7 @@ msgid "The orientation of the page. Default is portrait. Choices are %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49 -msgid "Preserve the aspect ratio of the cover, instead of stretching it to fill the ull first page of the generated pdf." +msgid "Preserve the aspect ratio of the cover, instead of stretching it to fill the full first page of the generated pdf." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 @@ -3145,21 +3156,7 @@ msgstr "" msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:520 -msgid "Copied" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:222 -msgid "Copy to Clipboard" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:222 -#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:96 -msgid "Copy" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:411 msgid "Choose Files" msgstr "" @@ -3199,88 +3196,88 @@ msgstr "" msgid "Add from ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:236 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:308 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:517 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:193 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:194 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:195 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:196 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:197 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:199 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:200 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:201 msgid "SNB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:202 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:203 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:207 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:246 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:247 msgid "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:256 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:257 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:302 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:283 #: /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 @@ -3288,11 +3285,11 @@ msgstr "" msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:296 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:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:302 msgid "No book files found" msgstr "" @@ -3310,12 +3307,12 @@ msgid "Fetch annotations (experimental)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:240 msgid "Use library only" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:241 msgid "User annotations generated from main library only" msgstr "" @@ -3361,7 +3358,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:34 -msgid "Create catalog of books in your calibre library" +msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:31 @@ -3384,183 +3381,170 @@ msgstr "" msgid "Select destination for %s.%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:112 -msgid "Checking database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:201 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 -msgid "Error" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 -msgid "Failed to check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:134 -msgid "Some inconsistencies found" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 -msgid "The following books had formats or covers listed in the database that are not actually available. The entries for the formats/covers have been removed. You should check them manually. This can happen if you manipulate the files in the library folder directly." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:142 -msgid "No errors found" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 -msgid "The integrity check completed with no uncorrectable errors found." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:82 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:54 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:167 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:126 msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:83 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:92 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:110 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:130 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:134 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:138 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:212 -msgid "Check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:216 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:363 -msgid "Recover database" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:211 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:212 msgid "Choose a new name for the library %s. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:213 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:220 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:191 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:221 msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:227 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:228 msgid "Failed to rename the library at %s. The most common cause for this is if one of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:169 msgid "Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:239 msgid "All files from %s will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:258 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:259 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:260 msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:266 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:345 -msgid "Metadata will be backed up while calibre is running, at the rate of approximately 1 book per second." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:267 +msgid "Metadata will be backed up while calibre is running, at the rate of approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:364 -msgid "This command rebuilds your calibre database from the information stored by calibre in the OPF files.
This function is not currently available in the GUI. You can recover your database using the 'calibredb restore_database' command line function."
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:180
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:240
+msgid "Success"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:290
+msgid "Found no errors in your calibre library database. Do you want calibre to check if the files in your library match the information in the database?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:876
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:190
+msgid "Failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296
+msgid "Database integrity check failed, click Show details for details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:301
+msgid "No problems found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:302
+msgid "The files in your library match the information in the database."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311
msgid "No library found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312
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:418
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:423
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:365
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:370
#: /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:780
msgid "Not allowed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:419
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:366
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:424
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:371
msgid "You cannot change libraries while jobs are running."
msgstr ""
@@ -3581,7 +3565,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:489
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:507
msgid "Cannot convert"
msgstr ""
@@ -3626,13 +3610,6 @@ msgstr ""
msgid "Could not copy books: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:674
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:854
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:190
-msgid "Failed"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:153
msgid "Copied %d books to %s"
msgstr ""
@@ -4169,7 +4146,7 @@ msgid "Selected books have no formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:101
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:79
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr ""
@@ -4332,8 +4309,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:485
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:490
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:535
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:412
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:414
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:417
@@ -4343,10 +4320,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:462
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:164
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:170
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:173
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:180
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:136
@@ -4436,7 +4414,7 @@ msgstr ""
#: /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:294
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:316
msgid "None"
msgstr ""
@@ -4484,7 +4462,7 @@ msgstr ""
msgid "output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:295
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:32
@@ -4515,7 +4493,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:40
-#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:81
@@ -4537,64 +4515,68 @@ msgstr ""
msgid "Form"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90
msgid "Bib file encoding:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:43
msgid "Fields to include in output:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92
msgid "ascii/LaTeX"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93
msgid "Encoding configuration (change if you have errors) :"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94
msgid "strict"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95
msgid "replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96
msgid "ignore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:97
msgid "backslashreplace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:98
msgid "BibTeX entry type:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:99
msgid "mixed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:97
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:100
msgid "misc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:101
msgid "book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:102
msgid "Create a citation tag?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:103
+msgid "Add files path with formats?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:104
msgid "Expression to form the BibTeX citation tag:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:105
msgid ""
"Some explanation about this template:\n"
" -The fields availables are 'author_sort', 'authors', 'id',\n"
@@ -4871,6 +4853,10 @@ msgstr ""
msgid "Remove formatting"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:96
+msgid "Copy"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:97
msgid "Paste"
msgstr ""
@@ -4968,15 +4954,15 @@ msgstr ""
msgid "HTML Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40
msgid "For settings that cannot be specified in this dialog, use the values saved in a previous conversion (if they exist) instead of using the defaults specified in the Preferences"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74
msgid "Bulk Convert"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189
msgid "Options specific to the output format."
msgstr ""
@@ -5471,7 +5457,7 @@ msgid "Change the title of this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:495
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:420
msgid "&Author(s): "
msgstr ""
@@ -5485,7 +5471,7 @@ msgid "Change the author(s) of this book. Multiple authors should be separated b
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:505
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:428
msgid "&Publisher: "
msgstr ""
@@ -5496,13 +5482,13 @@ msgid "Ta&gs: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:507
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
msgid "Tags categorize the book. This is particularly useful while searching.
They can be any words or phrases, separated by commas."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:469
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:514
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:289
@@ -5511,8 +5497,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:470
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:515
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:516
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:288
@@ -5673,35 +5659,57 @@ msgstr ""
msgid "RB Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:133
msgid "No formats available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:134
msgid "Cannot build regex using the GUI builder without a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:105
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:153
msgid "Open book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:57
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90
msgid "Regex Builder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:58
-msgid "Preview"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:91
msgid "Regex:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:125
msgid "Test"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:93
+msgid "Occurrences:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+msgid "0"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:95
+msgid "Goto:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:81
+msgid "&Previous"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:97
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:82
+msgid "&Next"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:98
+msgid "Preview"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:15
msgid ""
"Search\n"
@@ -5715,13 +5723,13 @@ msgstr ""
msgid "&Search Regular Expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:52
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:99
msgid "Invalid regular expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:53
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:100
msgid "Invalid regular expression: %s"
msgstr ""
@@ -5763,6 +5771,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:117
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
msgid "Dialog"
msgstr ""
@@ -6031,13 +6040,16 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:111
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:148
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:167
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:273
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:495
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:289
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:546
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:576
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:599
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:650
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:499
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:500
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:501
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:502
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:134
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:235
@@ -6048,54 +6060,62 @@ msgid "Undefined"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:607
msgid "star(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608
msgid "Unrated"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:169
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:637
msgid "Set '%s' to today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639
+msgid "Clear '%s'"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:285
msgid " index:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:351
msgid "The enumeration \"{0}\" contains an invalid value that will be set to the default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:495
-msgid "Do not change"
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:505
+msgid "Apply changes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683
msgid "Remove series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:686
msgid "Automatically number books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:550
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:689
msgid "Force numbers to start with "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:758
msgid "The enumeration \"{0}\" contains invalid values that will not appear in the list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:664
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:800
msgid "Remove all tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:685
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:820
msgid "tags to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:690
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:826
msgid "tags to remove"
msgstr ""
@@ -6177,12 +6197,19 @@ msgstr ""
msgid "Eject device"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:204
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
+msgid "Error"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:595
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:1100
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1116
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:297
msgid "No suitable formats"
msgstr ""
@@ -6211,55 +6238,55 @@ msgstr ""
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:846
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:838
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:854
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:839
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:855
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:842
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:858
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:862
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:843
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:859
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:863
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:976
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1094
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:909
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:992
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1110
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1023
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1061
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1077
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1101
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1117
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:1165
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1181
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "
Cannot upload books to device there is no more free space available " msgstr "" @@ -6344,101 +6371,125 @@ msgstr "" msgid "Fit &cover within view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:81 -msgid "&Previous" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:82 -msgid "&Next" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:33 msgid "My Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:309 msgid "Generate catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:93 msgid "Generate catalog for {0} books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:94 msgid "Catalog &format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:95 msgid "Catalog &title (existing catalog with the same title will be replaced):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:96 msgid "&Send catalog to device automatically" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:97 msgid "Catalog options" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:25 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:26 -msgid "Check Library" +msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:35 -msgid "&Run the check" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:55 +msgid "Dumping database to SQL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:80 +msgid "Loading database from SQL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:142 +msgid "Check Library -- Problems Found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:151 +msgid "&Run the check again" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:154 msgid "Copy &to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:161 msgid "Delete marked files (checked subitems)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:167 msgid "Fix marked sections (checked fixable items)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:177 msgid "Names to ignore:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:182 msgid "Enter comma-separated standard file name wildcards, such as synctoy*.dat" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:185 msgid "Extensions to ignore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:190 msgid "Enter comma-separated extensions without a leading dot. Used only in book folders" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:239 msgid "(fixable)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:262 msgid "Path from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:262 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:253 msgid "Name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:287 msgid "The marked files and folders will be permanently deleted. Are you sure?" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45 msgid "Choose Format" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1162 +msgid "Format" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:50 +msgid "Existing" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:51 +msgid "Convertible" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:43 msgid "Choose location for calibre library" msgstr "" @@ -6476,7 +6527,7 @@ msgid "No location selected" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:670 msgid "Bad location" msgstr "" @@ -6609,12 +6660,6 @@ msgstr "" msgid "Date" 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:1162 -msgid "Format" -msgstr "" - #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:55 msgid "Delete from device" @@ -6636,13 +6681,13 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:893 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:838 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:894 msgid "Author names cannot contain & characters." msgstr "" @@ -6767,6 +6812,27 @@ msgstr "" msgid "Stop &all non device jobs" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:43 +msgid "&Copy to clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:49 +msgid "Show &details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:50 +msgid "Hide &details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:54 +msgid "Show detailed information about this error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525 +msgid "Copied" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:57 msgid "Title/Author" msgstr "" @@ -6789,22 +6855,22 @@ msgid "Working" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:256 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:384 msgid "Lower Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:257 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:383 msgid "Upper Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:258 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Title Case" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:387 msgid "Capitalize" msgstr "" @@ -6832,138 +6898,160 @@ msgstr "" msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:319 msgid "Immediately make all changes without closing the dialog. This operation cannot be canceled or undone" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:377 msgid "Book %d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:392 msgid "You can destroy your library using this feature. Changes are permanent. There is no undo function. You are strongly encouraged to back up your library before proceeding.
Search and replace in text fields using character matching or regular expressions. "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:400
msgid "In character mode, the field is searched for the entered search text. The text is replaced by the specified replacement text everywhere it is found in the specified field. After replacement is finished, the text can be changed to upper-case, lower-case, or title-case. If the case-sensitive check box is checked, the search text must match exactly. If it is unchecked, the search text will match both upper- and lower-case letters"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:411
msgid "In regular expression mode, the search text is an arbitrary python-compatible regular expression. The replacement text can contain backreferences to parenthesized expressions in the pattern. The search is not anchored, and can match and replace multiple times on the same string. The modification functions (lower-case etc) are applied to the matched text, not to the field as a whole. The destination box specifies the field where the result after matching and replacement is to be assigned. You can replace the text in the field, or prepend or append the matched text. See this reference for more information on python's regular expressions, and in particular the 'sub' function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:458
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:475
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:578
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:595
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:681
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:689
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:788
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:698
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:706
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:810
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:682
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:699
msgid "Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:690
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:707
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:789
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:811
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:840
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:862
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:449
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:891
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:555
+msgid "Delete saved search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:892
+msgid "The selected saved search/replace will be deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:912
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:920
+msgid "Save search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:913
+msgid "Search/replace name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:921
+msgid "That saved search/replace already exists and will be overwritten. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:494
msgid "Edit Meta information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:451
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:496
msgid "A&utomatically set author sort"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:452
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:497
msgid "&Swap title and author"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:498
msgid "Author s&ort: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:499
msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:455
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:500
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:774
msgid "&Rating:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:501
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:502
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "Rating of this book. 0-5 stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:458
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:503
msgid "No change"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:504
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:427
msgid " stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:461
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:506
msgid "Add ta&gs: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:463
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:464
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:509
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:138
msgid "Open Tag Editor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:510
msgid "&Remove tags:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:511
msgid "Comma separated list of tags to remove from the books. "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:467
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:512
msgid "Check this box to remove all tags from the books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:468
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:513
msgid "Remove &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:517
msgid "If checked, the series will be cleared"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:473
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:518
msgid "&Clear series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:519
msgid ""
"If not checked, the series number for the books will be set to 1.\n"
"If checked, selected books will be automatically numbered, in the order\n"
@@ -6971,215 +7059,236 @@ msgid ""
"Book A will have series number 1 and Book B series number 2."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:523
msgid "&Automatically number books in this series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:524
msgid ""
"Series will normally be renumbered from the highest number in the database\n"
"for that series. Checking this box will tell calibre to start numbering\n"
"from the value in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:527
msgid "&Force numbers to start with:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:483
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:528
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:959
msgid "&Date:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:529
msgid "d MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:486
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:491
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:531
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:536
msgid "&Apply date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:487
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
msgid "&Published:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:489
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:534
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:444
msgid "Clear published date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:492
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
msgid "Remove &format:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:493
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:538
msgid ""
"Force the title to be in title case. If both this and swap authors are checked,\n"
"title and author are swapped before the title case is set"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:495
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:540
msgid "Change title to title &case"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:496
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:541
msgid ""
"Remove stored conversion settings for the selected books.\n"
"\n"
"Future conversion of these books will use the default settings."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:499
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
msgid "Remove &stored conversion settings for the selected books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:500
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:545
msgid "Change &cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:501
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
msgid "&Generate default cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:502
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:547
msgid "&Remove cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:503
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:548
msgid "Set from &ebook file(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:504
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:549
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:509
msgid "&Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:550
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:387
msgid "&Custom metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:506
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:551
+msgid "Load searc&h/replace:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:552
+msgid "Select saved search/replace to load."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:553
+msgid "Save current search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:554
+msgid "Sa&ve"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:556
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:64
+msgid "Delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:557
msgid "Search &field:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:507
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
msgid "The name of the field that you want to search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:559
msgid "Search &mode:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:509
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:560
msgid "Choose whether to use basic text matching or advanced regular expression matching"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:510
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:561
msgid "Te&mplate:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:511
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:562
msgid "Enter a template to be used as the source for the search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:512
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:563
msgid "&Search for:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:513
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:564
msgid "Enter the what you are looking for, either plain text or a regular expression, depending on the mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:514
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:565
msgid "Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:515
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:566
msgid "Cas&e sensitive"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:567
msgid "&Replace with:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:517
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:568
msgid "The replacement text. The matched search text will be replaced with this string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:518
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:569
msgid "&Apply function after replace:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:519
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:570
msgid ""
"Specify how the text is to be processed after matching and replacement. In character mode, the entire\n"
"field is processed. In regular expression mode, only the matched text is processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:572
msgid "&Destination field:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:522
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:573
msgid ""
"The field that the text will be put into after all replacements.\n"
"If blank, the source field is used if the field is modifiable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:524
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:575
msgid "M&ode:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:525
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:576
msgid "Specify how the text should be copied into the destination."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:526
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:577
msgid ""
"Specifies whether result items should be split into multiple values or\n"
"left as single values. This option has the most effect when the source field is\n"
"not multiple and the destination field is multiple"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:529
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:580
msgid "Split &result"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
msgid "For multiple-valued fields, sho&w"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:531
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
msgid "values starting a&t"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:583
msgid "with values separated b&y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:533
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:584
msgid "Used when displaying test results to separate values in multiple-valued fields"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:534
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:585
msgid "Test text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:586
msgid "Test result"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:536
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Your test:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:588
msgid "&Search and replace"
msgstr ""
@@ -7215,106 +7324,106 @@ msgstr ""
msgid "Not a valid picture"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:212
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Specify title and author"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:213
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You must specify a title and author before generating a cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:246
msgid "Downloading cover..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:260
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:271
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:273
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:278
msgid "Cannot fetch cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:261
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:272
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:277
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:274
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:279
msgid "Could not fetch cover.
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:264
msgid "The download timed out."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:268
msgid "Could not find cover for this book. Try specifying the ISBN first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:280
msgid "For the error message from each cover source, click Show details below."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:287
msgid "Bad cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:286
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:288
msgid "The cover is not a valid picture"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:515
msgid "Choose formats for "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:547
msgid "No permission"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:548
msgid "You do not have permission to read the following files:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:365
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:580
msgid "No format selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:591
msgid "Could not read metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:377
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:592
msgid "Could not read metadata from %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:449
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:451
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:225
msgid " The green color indicates that the current author sort matches the current author"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:452
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:454
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:228
msgid " The red color indicates that the current author sort does not match the current author. No action is required if this is what you want."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:461
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:119
msgid " The green color indicates that the current title sort matches the current title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:122
msgid " The red color warns that the current title sort does not match the current title. No action is required if this is what you want."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:468
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:47
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
@@ -7322,14 +7431,14 @@ msgstr ""
msgid "Previous"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:471
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:473
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:347
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:351
msgid "Save changes and edit the metadata of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:476
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:478
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:44
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:103
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -7337,57 +7446,57 @@ msgstr ""
msgid "Next"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:680
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:685
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:682
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:687
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:899
msgid "This ISBN number is valid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:688
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:906
msgid "This ISBN number is invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:768
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:770
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
msgid "Tags changed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:769
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:849
msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:805
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:807
msgid "Timed out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:808
msgid "The download of social metadata timed out, the servers are probably busy. Try again later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:815
msgid "There were errors"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:816
msgid "There were errors downloading social metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:848
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:850
msgid "Cannot fetch metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:849
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:851
msgid "You must specify at least one of ISBN, Title, Authors or Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:946
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:302
msgid "Permission denied"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:945
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:947
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:303
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -7647,11 +7756,11 @@ msgstr ""
msgid "Download all scheduled new sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:353
msgid "No internet connection"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:354
msgid "Cannot download news as no internet connection is active"
msgstr ""
@@ -7883,62 +7992,77 @@ msgstr ""
msgid "Publishers"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:128
msgid " (not on any book)"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:197
+#: /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:176
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:198
+msgid "That name is already used, perhaps with different case."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:211
msgid "The current tag category will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166
msgid "User Categories Editor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159
-msgid "A&vailable items"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160
-msgid "Apply tags to current tag category"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162
-msgid "A&pplied items"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163
-msgid "Unapply (remove) tag from current tag category"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167
msgid "Category name: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168
msgid "Select a category to edit"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:169
msgid "Delete this selected tag category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:169
-msgid "Enter a new category name. Select the kind before adding it."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:170
-msgid "Add the new category"
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:171
+msgid "Enter a category name, then use the add button or the rename button"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:172
+msgid "Add a new category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:174
+msgid "Rename the current category to the what is in the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:176
msgid "Category filter: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:173
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:177
msgid "Select the content kind of the new category"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:178
+msgid "A&vailable items"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:179
+msgid "Apply tags to current tag category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:181
+msgid "A&pplied items"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:182
+msgid "Unapply (remove) tag from current tag category"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105
msgid "Are your sure?"
@@ -7989,12 +8113,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:883
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:828
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:884
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -8061,7 +8185,7 @@ msgid "Send test mail from %s to:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:58
-#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:123
msgid "&Test"
msgstr ""
@@ -8310,7 +8434,7 @@ msgstr ""
msgid "Sent news to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115
msgid ""
"\n"
"