There was an error reading from file:
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr ""
@@ -5775,7 +5857,7 @@ 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:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid "Tags categorize the book. This is particularly useful while searching.
They can be any words or phrases, separated by commas."
msgstr ""
@@ -5783,7 +5865,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /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:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr ""
@@ -5793,7 +5875,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /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:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr ""
@@ -5981,6 +6063,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6067,6 +6150,7 @@ msgstr ""
#: /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
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr ""
@@ -6391,7 +6475,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -6535,7 +6619,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr ""
@@ -6895,6 +6979,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr ""
@@ -7454,7 +7539,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr ""
@@ -7462,7 +7547,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /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:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -7483,7 +7568,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /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:148
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr ""
@@ -7536,7 +7621,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr ""
@@ -7609,14 +7694,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:609
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr ""
@@ -7776,38 +7861,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:274
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:281
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:282
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -7850,44 +7935,44 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr ""
#: /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:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
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:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
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 ""
@@ -7911,8 +7996,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:411
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
@@ -7927,22 +8012,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes. Apply changes?"
msgstr ""
@@ -7971,12 +8056,12 @@ 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:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:358
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:359
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -7996,12 +8081,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:415
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:107
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:106
msgid ""
"Automatically create the author sort entry based on the current author entry.\n"
"Using this button to create author sort will change author sort from red to green."
@@ -8028,7 +8113,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr ""
@@ -8041,7 +8126,7 @@ msgid "dd MMM yyyy"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8050,7 +8135,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8059,7 +8144,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8068,12 +8153,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8082,7 +8167,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8099,7 +8184,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8108,7 +8193,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr ""
@@ -8524,7 +8609,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -8997,6 +9082,26 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
@@ -9273,7 +9378,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9282,7 +9387,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1019
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -9322,23 +9427,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:207
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:231
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -9435,7 +9532,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:830
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid "Dropping onto a device is not supported. First add the book to the calibre library."
msgstr ""
@@ -9492,6 +9589,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/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr ""
@@ -9654,49 +9752,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -9837,40 +9935,48 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:164
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:174
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
msgid "Change how calibre downloads metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:504
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:553
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:592
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:597
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:616
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
msgid "Configure metadata downloading"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:662
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -9946,7 +10052,7 @@ msgstr ""
msgid "Restore settings to default values. You have to click Apply to actually save the default settings."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:325
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
msgid "Configure "
msgstr ""
@@ -10948,71 +11054,71 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid "Installing plugins is a security risk. Plugins can contain a virus/malware. Only install it if you got it from a trusted source. Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid "Plugin {0} successfully installed under {1} plugins. You may have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid "You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
@@ -11242,7 +11348,7 @@ msgid "Here you can control how calibre will save your books when you click the
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr ""
@@ -11591,34 +11697,23 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:449
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
msgid "*Current search"
@@ -11696,6 +11791,73 @@ msgstr ""
msgid "&Alternate shortcut:"
msgstr ""
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#:
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
@@ -11760,11 +11922,13 @@ msgid "Manage %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
@@ -11816,52 +11980,68 @@ msgstr ""
msgid "The saved search name %s is already used."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
msgid "Invalid search restriction"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1837
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
msgid "The current search restriction is invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1904
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1907
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1905
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1908
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1929
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1930
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1949
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1950
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2073
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2076
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -11871,60 +12051,60 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2085
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2090
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2095
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2119
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
Click Find again to go to first match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2133 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2136 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2143 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2143 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164 msgid "When selecting multiple entries in the Tag Browser match any or all of them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152 -msgid "Manage &user categories" +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171 +msgid "Manage authors, tags, etc" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2155 -msgid "Add your own categories to the Tag Browser" +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172 +msgid "All of these category_managers are available by right-clicking on items in the tag browser above" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65 @@ -11965,58 +12145,58 @@ 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:156 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341 msgid "Debug mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342 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:506
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:529
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:545
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:578
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
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:585
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray."
msgstr ""
@@ -13613,19 +13793,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1015
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3075
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
Migrating old database to ebook library in %s
'+_('Double-click to open Book Details window') +
- '
' + _('Path') + ': ' + data.get(_('Path'), ''))
+ try:
+ sz = self.cover_view.pixmap.size()
+ except:
+ sz = QSize(0, 0)
+ self.setToolTip(
+ '
'+_('Double-click to open Book Details window') +
+ ' '+_('The download of metadata for the %d selected book(s) will'
' run in the background. Proceed?')%len(ids) +
' '+_('You can monitor the progress of the download '
'by clicking the rotating spinner in the bottom right '
'corner.') +
' '+_('When the download completes you will be asked for'
- ' confirmation before calibre applies the downloaded metadata.'),
- show_copy_button=False, parent=gui)
- b = q.bb.addButton(_('Configure download'), q.bb.ActionRole)
- b.setIcon(QIcon(I('config.png')))
- b.clicked.connect(partial(show_config, gui, q))
- q.det_msg_toggle.setVisible(False)
+ ' confirmation before calibre applies the downloaded metadata.')
+ )
+ t.setWordWrap(True)
+ l.addWidget(t, 0, 1)
+ l.setColumnStretch(0, 1)
+ l.setColumnStretch(1, 100)
- ret = q.exec_()
- b.clicked.disconnect()
- if ret != q.Accepted:
+ self.identify = self.covers = True
+ self.bb = QDialogButtonBox(QDialogButtonBox.Cancel)
+ self.bb.rejected.connect(self.reject)
+ b = self.bb.addButton(_('Download only metadata'),
+ self.bb.AcceptRole)
+ b.clicked.connect(self.only_metadata)
+ b.setIcon(QIcon(I('edit_input.png')))
+ b = self.bb.addButton(_('Download only covers'),
+ self.bb.AcceptRole)
+ b.clicked.connect(self.only_covers)
+ b.setIcon(QIcon(I('default_cover.png')))
+ b = self.b = self.bb.addButton(_('Configure download'), self.bb.ActionRole)
+ b.setIcon(QIcon(I('config.png')))
+ b.clicked.connect(partial(show_config, parent, self))
+ l.addWidget(self.bb, 1, 0, 1, 2)
+ b = self.bb.addButton(_('Download both'),
+ self.bb.AcceptRole)
+ b.clicked.connect(self.accept)
+ b.setDefault(True)
+ b.setAutoDefault(True)
+ b.setIcon(QIcon(I('ok.png')))
+
+ self.resize(self.sizeHint())
+ b.setFocus(Qt.OtherFocusReason)
+
+ def only_metadata(self):
+ self.covers = False
+ self.accept()
+
+ def only_covers(self):
+ self.identify = False
+ self.accept()
+
+def start_download(gui, ids, callback):
+ d = ConfirmDialog(ids, gui)
+ ret = d.exec_()
+ d.b.clicked.disconnect()
+ if ret != d.Accepted:
return
job = ThreadedJob('metadata bulk download',
_('Download metadata for %d books')%len(ids),
- download, (ids, gui.current_db, identify, covers), {}, callback)
+ download, (ids, gui.current_db, d.identify, d.covers), {}, callback)
gui.job_manager.run_threaded_job(job)
gui.status_bar.show_message(_('Metadata download started'), 3000)
-
+# }}}
class ViewLog(QDialog): # {{{
@@ -93,6 +143,7 @@ def view_log(job, parent):
# }}}
+# Apply downloaded metadata {{{
class ApplyDialog(QDialog):
def __init__(self, id_map, gui):
@@ -248,6 +299,8 @@ def proceed(gui, job):
q.show()
q.finished.connect(partial(apply_metadata, job, gui, q))
+# }}}
+
def merge_result(oldmi, newmi):
dummy = Metadata(_('Unknown'))
for f in msprefs['ignore_fields']:
From ab1ad20dba92e3be931a80ae2eaf50625341564c Mon Sep 17 00:00:00 2001
From: Kovid Goyal
' + _('Path') + ': ' + data.get(_('Path'), '') +
+ '
' + _('Cover size: %dx%d')%(sz.width(), sz.height())
+ )
def reset_info(self):
self.show_data({})
diff --git a/src/calibre/gui2/dialogs/book_info.py b/src/calibre/gui2/dialogs/book_info.py
index e860579fdf..46d26c2f4a 100644
--- a/src/calibre/gui2/dialogs/book_info.py
+++ b/src/calibre/gui2/dialogs/book_info.py
@@ -109,6 +109,8 @@ class BookInfo(QDialog, Ui_BookInfo):
pixmap = pixmap.scaled(new_width, new_height,
Qt.KeepAspectRatio, Qt.SmoothTransformation)
self.cover.set_pixmap(pixmap)
+ sz = pixmap.size()
+ self.cover.setToolTip(_('Cover size: %dx%d')%(sz.width(), sz.height()))
def refresh(self, row):
if isinstance(row, QModelIndex):
From 826bf29f5d0d326cbfcaa421b743c72a8dea566e Mon Sep 17 00:00:00 2001
From: Kovid Goyal