diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot
index 10ad6998be..6264429558 100644
--- a/src/calibre/translations/calibre.pot
+++ b/src/calibre/translations/calibre.pot
@@ -4,9 +4,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: calibre 0.9.27\n"
-"POT-Creation-Date: 2013-04-12 10:21+IST\n"
-"PO-Revision-Date: 2013-04-12 10:21+IST\n"
+"Project-Id-Version: calibre 0.9.28\n"
+"POT-Creation-Date: 2013-04-26 09:23+IST\n"
+"PO-Revision-Date: 2013-04-26 09:23+IST\n"
"Last-Translator: Automatically generated\n"
"Language-Team: LANGUAGE\n"
"MIME-Version: 1.0\n"
@@ -21,16 +21,16 @@ msgid "Does absolutely nothing"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:805
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:134
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:137
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:148
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:702
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:703
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:839
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:147
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:150
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:161
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:715
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:716
#: /home/kovid/work/calibre/src/calibre/db/write.py:152
#: /home/kovid/work/calibre/src/calibre/db/write.py:156
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
@@ -121,7 +121,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361
@@ -143,13 +143,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:174
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:702
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136
@@ -171,20 +171,20 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202
-#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923
#: /home/kovid/work/calibre/src/calibre/library/cli.py:245
#: /home/kovid/work/calibre/src/calibre/library/database.py:914
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:553
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:561
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:572
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2273
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2426
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2876
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3525
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3527
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3665
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:573
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:581
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:592
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
#: /home/kovid/work/calibre/src/calibre/library/server/content.py:250
#: /home/kovid/work/calibre/src/calibre/library/server/content.py:251
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247
@@ -891,8 +891,8 @@ msgstr ""
msgid "Disable the named plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:326
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:335
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:327
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749
@@ -902,11 +902,22 @@ msgstr ""
msgid "Path to library too long. Must be less than %d characters."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:162
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:395
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
+msgid "restored preference "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:401
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
+#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
+msgid "creating custom column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:175
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1029
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910
msgid "Yes"
@@ -918,19 +929,19 @@ msgid "%(tt)sAverage rating is %(rating)3.1f"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:237
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1186
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206
msgid "Main"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:239
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1188
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208
msgid "Card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:241
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210
msgid "Card B"
msgstr ""
@@ -950,11 +961,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/utils.py:116
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:339
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:352
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3379
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:359
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:372
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187
msgid "News"
msgstr ""
@@ -962,14 +973,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:32
#: /home/kovid/work/calibre/src/calibre/db/search.py:312
#: /home/kovid/work/calibre/src/calibre/library/caches.py:135
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:577
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:570
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:32
#: /home/kovid/work/calibre/src/calibre/db/search.py:310
#: /home/kovid/work/calibre/src/calibre/library/caches.py:135
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229
msgid "yes"
msgstr ""
@@ -977,7 +988,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:34
#: /home/kovid/work/calibre/src/calibre/db/search.py:309
#: /home/kovid/work/calibre/src/calibre/library/caches.py:137
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229
msgid "no"
msgstr ""
@@ -985,45 +996,70 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:34
#: /home/kovid/work/calibre/src/calibre/db/search.py:311
#: /home/kovid/work/calibre/src/calibre/library/caches.py:137
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:576
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:109
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:313
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:314
msgid "today"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:110
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:314
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:315
msgid "yesterday"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:111
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:315
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:316
msgid "thismonth"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:112
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:316
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:317
msgid "daysago"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/db/search.py:198
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:374
+msgid "Number conversion error: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:204
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:380
+msgid "Date conversion error: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:289
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:456
+msgid "Non-numeric value in query: {0}"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/db/search.py:313
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
msgid "empty"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:314
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
msgid "blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:323
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "Invalid boolean query \"{0}\""
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/db/search.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:501
+msgid "Invalid query format for colon-separated search: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:469
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:650
+msgid "Recursive query group detected: {0}"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/debug.py:75
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:47
msgid "Cause a running calibre instance, if any, to be shutdown. Note that if there are running jobs, they will be silently aborted, so use with care."
@@ -1049,19 +1085,19 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204
msgid "Comma separated list of directories to send e-books to on the device's main memory. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207
msgid "Comma separated list of directories to send e-books to on the device's storage cards. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324
msgid "Communicate with S60 phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343
msgid "Communicate with WebOS tablets."
msgstr ""
@@ -1162,8 +1198,8 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3336
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3354
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374
msgid "Catalog"
msgstr ""
@@ -1207,10 +1243,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147
@@ -1251,6 +1287,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
msgid "Removing books from device..."
@@ -1552,32 +1589,32 @@ msgid "Normally, the KOBO readers get the cover image from the ebook file itself
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238
msgid "A bug in an earlier version left non kepubs book records in the database. With this option Calibre will show the expired records and allow you to delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242
msgid "Show Previews"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243
msgid "Kobo previews are included on the Touch and some other versions by default they are no longer displayed as there is no good reason to see them. Enable if you wish to see/delete them."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246
msgid "Show Recommendations"
msgstr ""
@@ -1586,7 +1623,7 @@ msgid "Kobo now shows recommendations on the device. In some case these have fi
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255
msgid "Attempt to support newer firmware"
msgstr ""
@@ -1595,10 +1632,12 @@ msgid "Kobo routinely updates the firmware and the database version. With this o
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587
msgid "Kobo database version unsupported - See details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588
msgid "Your Kobo is running an updated firmware/database version. As calibre does not know about this updated firmware, database editing is disabled, to prevent corruption. You can still send books to your Kobo with calibre, but deleting books and managing collections is disabled. If you are willing to experiment and know how to reset your Kobo to Factory defaults, you can override this check by right clicking the device icon in calibre and selecting \"Configure this device\" and then the \"Attempt to support newer firmware\" option. Doing so may require you to perform a factory reset of your Kobo."
msgstr ""
@@ -1633,67 +1672,67 @@ msgstr ""
msgid "Chapter %(chapter)d: %(chapter_title)s
%(typ)s
Chapter Progress: %(chapter_progress)s%%
Highlight: %(text)s
Notes: %(annotation)s
Search and replace uses regular expressions. See the regular expressions tutorial to get started with regular expressions. Also clicking the wizard button below will allow you to test your regular expression against the current input document. When you are happy with an expression, click the Add button to add it to the list of expressions." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150 +msgid "Restore &Defaults" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193 msgid "Convert" msgstr "" @@ -8820,7 +8891,7 @@ msgid "Detected the %s. Do you want calibre to manage it?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:262 msgid "No suitable formats" msgstr "" @@ -8864,78 +8935,78 @@ msgstr "" msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153 msgid "No device connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169 #, python-format msgid "%(num)i of %(total)i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 #, python-format msgid "0 of %i Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474 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:1540 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548 msgid "
Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9087,7 +9158,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -9558,13 +9629,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -9616,13 +9687,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -9714,7 +9785,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -9762,12 +9833,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -9893,8 +9964,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1003 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 #: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -10708,6 +10779,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -10740,12 +10812,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -11269,12 +11341,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -11323,6 +11395,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -11337,6 +11410,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -12186,7 +12260,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -12239,64 +12313,68 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "
Search the list of books by title, author, publisher, tags, comments, etc.
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -12325,7 +12403,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
@@ -12467,7 +12545,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1000
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -12936,7 +13014,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:993
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -13080,7 +13158,7 @@ msgstr ""
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -13088,62 +13166,66 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:461
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:483
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:515
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Failed to find any books that match your search. Try making the search less specific. For example, use only the author's last name and a single distinctive word from the title.
To see the full log, click Show Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:883 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:889 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:891 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format msgid "Found %(num)d possible covers for %(title)s. When the download completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -13259,7 +13341,7 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -13298,34 +13380,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -13372,11 +13454,11 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 -msgid "Apply this restriction on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. " +msgid "Use this virtual library on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 @@ -14221,7 +14303,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -15093,20 +15175,20 @@ msgstr "" msgid "Here you can control how calibre will save your books when you click the Send to Device button. This setting can be overriden for individual devices by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -15135,15 +15217,15 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 -msgid "This restriction (based on a saved search) will restrict the books the content server makes available to those matching the search. This setting is per library (i.e. you can have a different restriction per library)." +msgid "Setting a virtual library will restrict the books the content server makes available to those in the library. This setting is per library (i.e. you can have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -15476,80 +15558,216 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 -msgid "The selected search will be permanently deleted. Are you sure?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 -msgid "Search (For Advanced Search click the button to the left)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 -msgid "Start search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 -msgid "Enable or disable search highlighting." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 -msgid "Saved Searches" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 -msgid "Choose saved search or enter name for new saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 -msgid "Save current search under the name shown in the box. Press and hold for a pop-up options menu." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 +msgid "The selected search will be permanently deleted. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 +msgid "Search (For Advanced Search click the button to the left)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 +msgid "Start search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 +msgid "Enable or disable search highlighting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 +msgid "Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 +msgid "Choose saved search or enter name for new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 +msgid "Save current search under the name shown in the box. Press and hold for a pop-up options menu." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to only show\n" +" you books that match a search. When a virtual library is in effect, calibre\n" +" behaves as though the library contains only the matched books. The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the matched books and any searches\n" +" you do will only search within the books in the virtual library. This\n" +" is a good way to partition your large library into smaller and easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "The virtual library name or the search text has changed. Do you want to discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "The search found no books, so the virtual library will be empty. Do you really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Then choose a location inside the file. To do so, simply click on the place in the central panel that you want to use as the destination. As you move the mouse around the central panel, a thick green line appears, indicating the precise location that will be selected when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208 msgid "No match found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198 #, python-format msgid "No match found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204 #, python-format msgid "No matches for %(text)s found in the current file [%(current)s]. Do you want to search in the %(which)s file [%(next)s]?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207 msgid "previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290 #, python-format msgid "Location: A <%s> tag inside the file" msgstr "" @@ -16410,176 +16628,180 @@ msgstr "" msgid "Flatten the Table of Contents, putting all entries at the top level" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211 msgid "WARNING: calibre only supports the creation of linear ToCs in AZW3 files. In a linear ToC every entry must point to a location after the previous entry. If you create a non-linear ToC it will be automatically re-arranged inside the AZW3 file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 msgid "You can move this entry around the Table of Contents by drag and drop or using the up and down buttons to the left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:249 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248 msgid "Change the &location this entry points to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252 msgid "&Remove this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262 msgid "New entry &inside this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265 msgid "New entry &above this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268 msgid "New entry &below this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272 msgid "&Flatten this entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274 msgid "All children of this entry are brought to the same level as this entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285 msgid "&Return to welcome screen" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287 msgid "Go back to the top level view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337 msgid "This entry points to an existing destination" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340 msgid "The location this entry points to does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:519 -#, python-format -msgid "Move \"%s\" up" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:521 -#, python-format -msgid "Move \"%s\" down" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:522 -msgid "Remove all selected items" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 #, python-format -msgid "Unindent \"%s\"" +msgid "Move \"%s\" up" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526 #, python-format -msgid "Indent \"%s\"" +msgid "Move \"%s\" down" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527 +msgid "Remove all selected items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529 +#, python-format +msgid "Unindent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531 +#, python-format +msgid "Indent \"%s\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532 +msgid "Change the location this entry points to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533 msgid "Change all selected items to title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 msgid "Move current entry up [Ctrl+Up]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 msgid "Unindent the current entry [Ctrl+Left]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 msgid "Indent the current entry [Ctrl+Right]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580 msgid "Move current entry down [Ctrl+Down]" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:660 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:691 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:781 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:788 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:795 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805 msgid "No items found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:782 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792 msgid "No items were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799 msgid "No links were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806 msgid "No files were found that could be added to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:814 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:830 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840 #, python-format msgid "Loading %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:865 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876 #, python-format msgid "Writing %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:873 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884 msgid "Failed to write book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885 #, python-format msgid "Could not write %s. Click \"Show details\" for more information." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:911 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923 msgid "Failed to load book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924 #, python-format msgid "Could not load %s. Click \"Show details\" for more information." msgstr "" @@ -16648,40 +16870,40 @@ msgstr "" msgid "The following books have already been converted to %s format. Do you wish to reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251 msgid "Quit calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264 msgid "Clear the current search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369 #, python-format msgid "You have started calibre in debug mode. After you quit calibre, the debug log will be available in the file: %s
The log will be displayed automatically." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -16694,16 +16916,16 @@ msgstr "" msgid "The library database at %s appears to be corrupted. Do you want calibre to try and rebuild it automatically? The rebuild may not be completely successful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "
Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -16720,34 +16942,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device!
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray."
msgstr ""
@@ -17266,29 +17488,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -18980,31 +19202,22 @@ msgstr ""
msgid "The label must contain only lower case letters, digits and underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3691
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Migrating old database to ebook library in %s