diff --git a/calibre-plugin/config.py b/calibre-plugin/config.py
index 2af6c31e..8bc5eb0e 100644
--- a/calibre-plugin/config.py
+++ b/calibre-plugin/config.py
@@ -501,7 +501,7 @@ class BasicTab(QWidget):
self.l.addLayout(horz)
self.checkforurlchange = QCheckBox(_("Check for changed Story URL?"),self)
- self.checkforurlchange.setToolTip(_("Warn you if an update will change the URL of an existing book.\nfanfiction.net URLs will change from http to https silently."))
+ self.checkforurlchange.setToolTip(_("Warn you if an update will change the URL of an existing book(normally automatic and silent).\nURLs may be changed from http to https silently if the site changed."))
self.checkforurlchange.setChecked(prefs['checkforurlchange'])
self.l.addWidget(self.checkforurlchange)
diff --git a/calibre-plugin/fff_plugin.py b/calibre-plugin/fff_plugin.py
index 787430b7..36da3cbe 100644
--- a/calibre-plugin/fff_plugin.py
+++ b/calibre-plugin/fff_plugin.py
@@ -1276,11 +1276,18 @@ class FanFicFarePlugin(InterfaceAction):
if book_id and mi: # book_id and mi only set if matched by title/author.
liburl = self.get_story_url(db,book_id)
- if book['url'] != liburl and prefs['checkforurlchange'] and \
+ if book['url'] != liburl and \
not (book['url'].replace('https','http') == liburl): # several sites have been changing to
# https now. Don't flag when that's the only change.
- # special case for ffnet urls change to https.
- if not question_dialog(self.gui, _('Change Story URL?'),'''
+ tags = db.get_tags(book_id)
+ flag_tag = "FFF Frozen URL" # not translated so it works across languages.
+ if flag_tag in tags:
+ book['comment'] = _("Update declined due to differing story URL(%s)(%s tag present)")%(liburl,flag_tag)
+ book['good']=False
+ book['icon']='rotate-right.png'
+ book['status'] = _('Different URL')
+ return
+ if prefs['checkforurlchange'] and not question_dialog(self.gui, _('Change Story URL?'),'''
%s
%s
%s
diff --git a/calibre-plugin/translations/messages.pot b/calibre-plugin/translations/messages.pot
index 359c8d02..ff291c29 100644
--- a/calibre-plugin/translations/messages.pot
+++ b/calibre-plugin/translations/messages.pot
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2017-05-09 11:44+Central Daylight Time\n"
+"POT-Creation-Date: 2018-05-24 12:30+Central Daylight Time\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -15,11 +15,11 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
-#: __init__.py:48
+#: __init__.py:51
msgid "UI plugin to download FanFiction stories from various sites."
msgstr ""
-#: __init__.py:122
+#: __init__.py:124
msgid "Path to the calibre library. Default is to use the path stored in the settings."
msgstr ""
@@ -71,105 +71,105 @@ msgstr ""
msgid "Restart calibre now"
msgstr ""
-#: config.py:194
+#: config.py:206
msgid "List of Supported Sites"
msgstr ""
-#: config.py:196
+#: config.py:208
msgid "FAQs"
msgstr ""
-#: config.py:211
+#: config.py:223
msgid "Basic"
msgstr ""
-#: config.py:222
+#: config.py:234
msgid "Calibre Cover"
msgstr ""
-#: config.py:230
+#: config.py:242
msgid "Standard Columns"
msgstr ""
-#: config.py:233
+#: config.py:245
msgid "Custom Columns"
msgstr ""
-#: config.py:236
+#: config.py:248
msgid "Email Settings"
msgstr ""
-#: config.py:239
+#: config.py:251
msgid "Other"
msgstr ""
-#: config.py:395
+#: config.py:407
msgid "These settings control the basic features of the plugin--downloading FanFiction."
msgstr ""
-#: config.py:399
+#: config.py:411
msgid "Defaults Options on Download"
msgstr ""
-#: config.py:403
+#: config.py:415
msgid "On each download, FanFicFare offers an option to select the output format.
This sets what that option will default to."
msgstr ""
-#: config.py:405
+#: config.py:417
msgid "Default Output &Format:"
msgstr ""
-#: config.py:420
+#: config.py:432
msgid "On each download, FanFicFare offers an option of what happens if that story already exists.
This sets what that option will default to."
msgstr ""
-#: config.py:422
+#: config.py:434
msgid "Default If Story Already Exists?"
msgstr ""
-#: config.py:437
+#: config.py:449
msgid "Default Update Calibre &Metadata?"
msgstr ""
-#: config.py:438
+#: config.py:450
msgid "On each download, FanFicFare offers an option to update Calibre's metadata (title, author, URL, tags, custom columns, etc) from the web site.
This sets whether that will default to on or off.
Columns set to 'New Only' in the column tabs will only be set for new books."
msgstr ""
-#: config.py:442
+#: config.py:454
msgid "Default Update EPUB Cover when Updating EPUB?"
msgstr ""
-#: config.py:443
+#: config.py:455
msgid "On each download, FanFicFare offers an option to update the book cover image inside the EPUB from the web site when the EPUB is updated.
This sets whether that will default to on or off."
msgstr ""
-#: config.py:447
+#: config.py:459
msgid "Default Background Metadata?"
msgstr ""
-#: config.py:448
+#: config.py:460
msgid "On each download, FanFicFare offers an option to Collect Metadata from sites in a Background process.
This returns control to you quicker while updating, but you won't be asked for username/passwords or if you are an adult--stories that need those will just fail.
Only available for Update/Overwrite of existing books in case URL given isn't canonical or matches to existing book by Title/Author."
msgstr ""
-#: config.py:454
+#: config.py:466
msgid "Updating Calibre Options"
msgstr ""
-#: config.py:458
+#: config.py:470
msgid "Delete other existing formats?"
msgstr ""
-#: config.py:459
+#: config.py:471
msgid ""
"Check this to automatically delete all other ebook formats when updating an existing book.\n"
"Handy if you have both a Nook(epub) and Kindle(mobi), for example."
msgstr ""
-#: config.py:463
+#: config.py:475
msgid "Keep Existing Tags when Updating Metadata?"
msgstr ""
-#: config.py:464
+#: config.py:476
msgid ""
"Existing tags will be kept and any new tags added.\n"
"%(cmplt)s and %(inprog)s tags will be still be updated, if known.\n"
@@ -177,398 +177,398 @@ msgid ""
"(If Tags is set to 'New Only' in the Standard Columns tab, this has no effect.)"
msgstr ""
-#: config.py:468
+#: config.py:480
msgid "Force Author into Author Sort?"
msgstr ""
-#: config.py:469
+#: config.py:481
msgid ""
"If checked, the author(s) as given will be used for the Author Sort, too.\n"
"If not checked, calibre will apply it's built in algorithm which makes 'Bob Smith' sort as 'Smith, Bob', etc."
msgstr ""
-#: config.py:473
+#: config.py:485
msgid "Force Title into Title Sort?"
msgstr ""
-#: config.py:474
+#: config.py:486
msgid ""
"If checked, the title as given will be used for the Title Sort, too.\n"
"If not checked, calibre will apply it's built in algorithm which makes 'The Title' sort as 'Title, The', etc."
msgstr ""
-#: config.py:478
+#: config.py:490
msgid "Check for existing Series Anthology books?"
msgstr ""
-#: config.py:479
+#: config.py:491
msgid ""
"Check for existing Series Anthology books using each new story's series URL before downloading.\n"
"Offer to skip downloading if a Series Anthology is found.\n"
"Doesn't work when Collect Metadata in Background is selected."
msgstr ""
-#: config.py:483 config.py:600
+#: config.py:495 config.py:612
msgid "Reject Without Confirmation?"
msgstr ""
-#: config.py:484
+#: config.py:496
msgid ""
"Automatically reject storys with existing Series Anthology books.\n"
"Only works if 'Check for existing Series Anthology books' is on.\n"
"Doesn't work when Collect Metadata in Background is selected."
msgstr ""
-#: config.py:491
+#: config.py:503
msgid "Check for changed Story URL?"
msgstr ""
-#: config.py:492
+#: config.py:504
msgid ""
-"Warn you if an update will change the URL of an existing book.\n"
-"fanfiction.net URLs will change from http to https silently."
+"Warn you if an update will change the URL of an existing book(normally automatic and silent).\n"
+"URLs may be changed from http to https silently if the site changed."
msgstr ""
-#: config.py:496
+#: config.py:508
msgid "Search inside ebooks for Story URL?"
msgstr ""
-#: config.py:497
+#: config.py:509
msgid ""
"Look for first valid story URL inside EPUB, ZIP(HTML) or TXT ebook formats if not found in metadata.\n"
"Somewhat risky, could find wrong URL depending on ebook content."
msgstr ""
-#: config.py:501
+#: config.py:513
msgid "Post Processing Options"
msgstr ""
-#: config.py:505
+#: config.py:517
msgid "Mark added/updated books when finished?"
msgstr ""
-#: config.py:506
+#: config.py:518
msgid ""
"Mark added/updated books when finished. Use with option below.\n"
"You can also manually search for 'marked:fff_success'.\n"
"'marked:fff_failed' is also available, or search 'marked:fff' for both."
msgstr ""
-#: config.py:510
+#: config.py:522
msgid "Show Marked books when finished?"
msgstr ""
-#: config.py:511
+#: config.py:523
msgid ""
"Show Marked added/updated books only when finished.\n"
"You can also manually search for 'marked:fff_success'.\n"
"'marked:fff_failed' is also available, or search 'marked:fff' for both."
msgstr ""
-#: config.py:515
+#: config.py:527
msgid "Smarten Punctuation (EPUB only)"
msgstr ""
-#: config.py:516
+#: config.py:528
msgid "Run Smarten Punctuation from Calibre's Polish Book feature on each EPUB download and update."
msgstr ""
-#: config.py:521
+#: config.py:533
msgid ""
"Calculate Word Counts using Calibre internal methods.\n"
"Many sites include Word Count, but many do not.\n"
"This will count the words in each book and include it as if it came from the site."
msgstr ""
-#: config.py:525
+#: config.py:537
msgid "Calculate Word Count:"
msgstr ""
-#: config.py:538
+#: config.py:550
msgid "Automatically Convert new/update books?"
msgstr ""
-#: config.py:539
+#: config.py:551
msgid ""
"Automatically call calibre's Convert for new/update books.\n"
"Converts to the current output format as chosen in calibre's\n"
"Preferences->Behavior settings."
msgstr ""
-#: config.py:543
+#: config.py:555
msgid "GUI Options"
msgstr ""
-#: config.py:547
+#: config.py:559
msgid "Take URLs from Clipboard?"
msgstr ""
-#: config.py:548
+#: config.py:560
msgid "Prefill URLs from valid URLs in Clipboard when Adding New."
msgstr ""
-#: config.py:552
+#: config.py:564
msgid "Default to Update when books selected?"
msgstr ""
-#: config.py:553
+#: config.py:565
msgid ""
"The top FanFicFare plugin button will start Update if\n"
"books are selected. If unchecked, it will always bring up 'Add New'."
msgstr ""
-#: config.py:557
+#: config.py:569
msgid "Keep 'Add New from URL(s)' dialog on top?"
msgstr ""
-#: config.py:558
+#: config.py:570
msgid ""
"Instructs the OS and Window Manager to keep the 'Add New from URL(s)'\n"
"dialog on top of all other windows. Useful for dragging URLs onto it."
msgstr ""
-#: config.py:562
+#: config.py:574
msgid "Show estimated time left?"
msgstr ""
-#: config.py:563
+#: config.py:575
msgid "When a Progress Bar is shown, show a rough estimate of the time left."
msgstr ""
-#: config.py:567
+#: config.py:579
msgid "Misc Options"
msgstr ""
-#: config.py:571
+#: config.py:583
msgid "Inject calibre Series when none found?"
msgstr ""
-#: config.py:572
+#: config.py:584
msgid ""
"If no series is found, inject the calibre series (if there is one) so \n"
"it appears on the FanFicFare title page(not cover)."
msgstr ""
-#: config.py:576
+#: config.py:588
msgid "Search by Title/Author(s) for If Story Already Exists?"
msgstr ""
-#: config.py:577
+#: config.py:589
msgid "When checking If Story Already Exists FanFicFare will first match by URL Identifier. But if not found, it can also search existing books by Title and Author(s)."
msgstr ""
-#: config.py:581
+#: config.py:593
msgid "Reject List"
msgstr ""
-#: config.py:585
+#: config.py:597
msgid "Edit Reject URL List"
msgstr ""
-#: config.py:586
+#: config.py:598
msgid "Edit list of URLs FanFicFare will automatically Reject."
msgstr ""
-#: config.py:590 config.py:669
+#: config.py:602 config.py:681
msgid "Add Reject URLs"
msgstr ""
-#: config.py:591
+#: config.py:603
msgid "Add additional URLs to Reject as text."
msgstr ""
-#: config.py:595
+#: config.py:607
msgid "Edit Reject Reasons List"
msgstr ""
-#: config.py:596 config.py:659
+#: config.py:608 config.py:671
msgid "Customize the Reasons presented when Rejecting URLs"
msgstr ""
-#: config.py:601
+#: config.py:613
msgid "Always reject URLs on the Reject List without stopping and asking."
msgstr ""
-#: config.py:605
+#: config.py:617
msgid "Delete on Reject by Default?"
msgstr ""
-#: config.py:606
+#: config.py:618
msgid "Should the checkbox to delete Rejected books be checked by default?"
msgstr ""
-#: config.py:643
+#: config.py:655
msgid "Edit Reject URLs List"
msgstr ""
-#: config.py:657
+#: config.py:669
msgid "Reject Reasons"
msgstr ""
-#: config.py:658
+#: config.py:670
msgid "Customize Reject List Reasons"
msgstr ""
-#: config.py:667
+#: config.py:679
msgid "Reason why I rejected it"
msgstr ""
-#: config.py:667
+#: config.py:679
msgid "Title by Author"
msgstr ""
-#: config.py:670
+#: config.py:682
msgid "Add Reject URLs. Use: http://...,note or http://...,title by author - note
Invalid story URLs will be ignored."
msgstr ""
-#: config.py:671
+#: config.py:683
msgid ""
"One URL per line:\n"
"http://...,note\n"
"http://...,title by author - note"
msgstr ""
-#: config.py:673 dialogs.py:1126
+#: config.py:685 dialogs.py:1142
msgid "Add this reason to all URLs added:"
msgstr ""
-#: config.py:689
+#: config.py:701
msgid "These settings provide more detailed control over what metadata will be displayed inside the ebook as well as let you set %(isa)s and %(u)s/%(p)s for different sites."
msgstr ""
-#: config.py:696
+#: config.py:708
msgid "personal.ini"
msgstr ""
-#: config.py:703 config.py:807 config.py:808
+#: config.py:715 config.py:819 config.py:820
msgid "Edit personal.ini"
msgstr ""
-#: config.py:708
+#: config.py:720
msgid "FanFicFare now includes find, color coding, and error checking for personal.ini editing. Red generally indicates errors."
msgstr ""
-#: config.py:716
+#: config.py:728
msgid "View \"Safe\" personal.ini"
msgstr ""
-#: config.py:721 config.py:798
+#: config.py:733 config.py:810
msgid "View your personal.ini with usernames and passwords removed. For safely sharing your personal.ini settings with others."
msgstr ""
-#: config.py:727
+#: config.py:739
msgid "defaults.ini"
msgstr ""
-#: config.py:732
+#: config.py:744
msgid ""
"View all of the plugin's configurable settings\n"
"and their default settings."
msgstr ""
-#: config.py:733
+#: config.py:745
msgid "View Defaults"
msgstr ""
-#: config.py:744
+#: config.py:756
msgid "Calibre Columns"
msgstr ""
-#: config.py:751
+#: config.py:763
msgid "If checked, when updating/overwriting an existing book, FanFicFare will have the Calibre Columns available to use in replace_metadata, title_page, etc.
Click the button below to see the Calibre Column names."
msgstr ""
-#: config.py:752
+#: config.py:764
msgid "Pass Calibre Columns into FanFicFare on Update/Overwrite"
msgstr ""
-#: config.py:765
+#: config.py:777
msgid "FanFicFare can pass the Calibre Columns into the download/update process.
This will show you the columns available by name."
msgstr ""
-#: config.py:766
+#: config.py:778
msgid "Show Calibre Column Names"
msgstr ""
-#: config.py:775
+#: config.py:787
msgid "Changes will only be saved if you click 'OK' to leave Customize FanFicFare."
msgstr ""
-#: config.py:785
+#: config.py:797
msgid "Plugin Defaults"
msgstr ""
-#: config.py:786
+#: config.py:798
msgid "Plugin Defaults (%s) (Read-Only)"
msgstr ""
-#: config.py:797
+#: config.py:809
msgid "View 'Safe' personal.ini"
msgstr ""
-#: config.py:831
+#: config.py:843
msgid "Calibre Column Entry Names"
msgstr ""
-#: config.py:832
+#: config.py:844
msgid "Label (entry_name)"
msgstr ""
-#: config.py:852
+#: config.py:864
msgid "These settings provide integration with the %(rl)s Plugin. %(rl)s can automatically send to devices and change custom columns. You have to create and configure the lists in %(rl)s to be useful."
msgstr ""
-#: config.py:857
+#: config.py:869
msgid "Add new/updated stories to \"Send to Device\" Reading List(s)."
msgstr ""
-#: config.py:858
+#: config.py:870
msgid "Automatically add new/updated stories to these lists in the %(rl)s plugin."
msgstr ""
-#: config.py:863
+#: config.py:875
msgid "\"Send to Device\" Reading Lists"
msgstr ""
-#: config.py:864 config.py:867 config.py:881 config.py:884
+#: config.py:876 config.py:879 config.py:893 config.py:896
msgid "When enabled, new/updated stories will be automatically added to these lists."
msgstr ""
-#: config.py:874
+#: config.py:886
msgid "Add new/updated stories to \"To Read\" Reading List(s)."
msgstr ""
-#: config.py:875
+#: config.py:887
msgid ""
"Automatically add new/updated stories to these lists in the %(rl)s plugin.\n"
"Also offers menu option to remove stories from the \"To Read\" lists."
msgstr ""
-#: config.py:880
+#: config.py:892
msgid "\"To Read\" Reading Lists"
msgstr ""
-#: config.py:891
+#: config.py:903
msgid "Add stories back to \"Send to Device\" Reading List(s) when marked \"Read\"."
msgstr ""
-#: config.py:892
+#: config.py:904
msgid "Menu option to remove from \"To Read\" lists will also add stories back to \"Send to Device\" Reading List(s)"
msgstr ""
-#: config.py:896
+#: config.py:908
msgid "Automatically run Remove \"New\" Chapter Marks when marking books \"Read\"."
msgstr ""
-#: config.py:897
+#: config.py:909
msgid "Menu option to remove from \"To Read\" lists will also remove \"(new)\" chapter marks created by personal.ini mark_new_chapters setting."
msgstr ""
-#: config.py:925
+#: config.py:937
msgid "The Calibre cover image for a downloaded book can come from the story site(if EPUB and images are enabled), or from either Calibre's built-in random cover generator or the %(gc)s plugin."
msgstr ""
-#: config.py:933
+#: config.py:945
msgid ""
"Update Calibre book cover image from EPUB when Calibre metadata is updated.\n"
"Doesn't go looking for new images on 'Update Calibre Metadata Only'.\n"
@@ -576,780 +576,780 @@ msgid ""
"This comes before Generate Cover so %(gc)s(Plugin) use the image if configured to."
msgstr ""
-#: config.py:938
+#: config.py:950
msgid "Update Calibre Cover (from EPUB):"
msgstr ""
-#: config.py:956
+#: config.py:968
msgid "Generate a Calibre book cover image when Calibre metadata is updated.
Defaults to 'Yes, Always' for backward compatibility and because %(gc)s(Plugin) will only run if configured for Default or site."
msgstr ""
-#: config.py:960
+#: config.py:972
msgid "Generate Calibre Cover:"
msgstr ""
-#: config.py:987
+#: config.py:999
msgid "Plugin %(gc)s"
msgstr ""
-#: config.py:988
+#: config.py:1000
msgid "Use plugin to create covers. Additional settings are below."
msgstr ""
-#: config.py:995
+#: config.py:1007
msgid "Calibre Generate Cover"
msgstr ""
-#: config.py:996
+#: config.py:1008
msgid "Call Calibre's Edit Metadata Generate cover feature to create a random cover each time a story is downloaded or updated.
Right click or long click the 'Generate cover' button in Calibre's Edit Metadata to customize."
msgstr ""
-#: config.py:1010
+#: config.py:1022
msgid "Generate Covers Only for New Books"
msgstr ""
-#: config.py:1011
+#: config.py:1023
msgid "Default is to generate a cover any time the calibre metadata is updated.
Used for both Calibre and Plugin generated covers."
msgstr ""
-#: config.py:1017
+#: config.py:1029
msgid "Inject/update the cover inside EPUB"
msgstr ""
-#: config.py:1018
+#: config.py:1030
msgid "Calibre's Polish feature will be used to inject or update the generated cover into the EPUB ebook file.
Used for both Calibre and Plugin generated covers."
msgstr ""
-#: config.py:1024
+#: config.py:1036
msgid "%(gc)s(Plugin) Settings"
msgstr ""
-#: config.py:1032
+#: config.py:1044
msgid "The %(gc)s plugin can create cover images for books using various metadata (including existing cover image). If you have %(gc)s installed, FanFicFare can run %(gc)s on new downloads and metadata updates. Pick a %(gc)s setting by site and/or one to use by Default."
msgstr ""
-#: config.py:1050 config.py:1054 config.py:1067
+#: config.py:1062 config.py:1066 config.py:1079
msgid "Default"
msgstr ""
-#: config.py:1055
+#: config.py:1067
msgid "On Metadata update, run %(gc)s with this setting, if there isn't a more specific setting below."
msgstr ""
-#: config.py:1058
+#: config.py:1070
msgid "On Metadata update, run %(gc)s with this setting for %(site)s stories."
msgstr ""
-#: config.py:1081
+#: config.py:1093
msgid "Allow %(gcset)s from %(pini)s to override"
msgstr ""
-#: config.py:1082
+#: config.py:1094
msgid "The %(pini)s parameter %(gcset)s allows you to choose a %(gc)s setting based on metadata rather than site, but it's much more complex.
%(gcset)s is ignored when this is off."
msgstr ""
-#: config.py:1120
+#: config.py:1132
msgid "These settings provide integration with the %(cp)s Plugin. %(cp)s can automatically update custom columns with page, word and reading level statistics. You have to create and configure the columns in %(cp)s first."
msgstr ""
-#: config.py:1125
+#: config.py:1137
msgid "If any of the settings below are checked, when stories are added or updated, the %(cp)s Plugin will be called to update the checked statistics."
msgstr ""
-#: config.py:1131
+#: config.py:1143
msgid "Which column and algorithm to use are configured in %(cp)s."
msgstr ""
-#: config.py:1141
+#: config.py:1153
msgid "Will overwrite word count from FanFicFare metadata if set to update the same custom column."
msgstr ""
-#: config.py:1146
+#: config.py:1158
msgid "Only run Count Page's Word Count if checked and FanFicFare metadata doesn't already have a word count. If this is used with one of the other Page Counts, the Page Count plugin will be called twice."
msgstr ""
-#: config.py:1182
+#: config.py:1194
msgid "These controls aren't plugin settings as such, but convenience buttons for setting Keyboard shortcuts and getting all the FanFicFare confirmation dialogs back again."
msgstr ""
-#: config.py:1187
+#: config.py:1199
msgid "Keyboard shortcuts..."
msgstr ""
-#: config.py:1188
+#: config.py:1200
msgid "Edit the keyboard shortcuts associated with this plugin"
msgstr ""
-#: config.py:1192
+#: config.py:1204
msgid "Reset disabled &confirmation dialogs"
msgstr ""
-#: config.py:1193
+#: config.py:1205
msgid "Reset all show me again dialogs for the FanFicFare plugin"
msgstr ""
-#: config.py:1197
+#: config.py:1209
msgid "&View library preferences..."
msgstr ""
-#: config.py:1198
+#: config.py:1210
msgid "View data stored in the library database for this plugin"
msgstr ""
-#: config.py:1208
+#: config.py:1220
msgid "Done"
msgstr ""
-#: config.py:1209
+#: config.py:1221
msgid "Confirmation dialogs have all been reset"
msgstr ""
-#: config.py:1257
+#: config.py:1269
msgid "Category"
msgstr ""
-#: config.py:1258
+#: config.py:1270
msgid "Genre"
msgstr ""
-#: config.py:1259
+#: config.py:1271
msgid "Language"
msgstr ""
-#: config.py:1260 fff_plugin.py:1478 fff_plugin.py:1690 fff_plugin.py:1720
+#: config.py:1272 fff_plugin.py:1491 fff_plugin.py:1703 fff_plugin.py:1733
msgid "Status"
msgstr ""
-#: config.py:1261
+#: config.py:1273
msgid "Status:%(cmplt)s"
msgstr ""
-#: config.py:1262
+#: config.py:1274
msgid "Status:%(inprog)s"
msgstr ""
-#: config.py:1263 config.py:1443
+#: config.py:1275 config.py:1455
msgid "Series"
msgstr ""
-#: config.py:1264
+#: config.py:1276
msgid "Characters"
msgstr ""
-#: config.py:1265
+#: config.py:1277
msgid "Relationships"
msgstr ""
-#: config.py:1266
+#: config.py:1278
msgid "Published"
msgstr ""
-#: config.py:1267 fff_plugin.py:1868 fff_plugin.py:1884
+#: config.py:1279 fff_plugin.py:1881 fff_plugin.py:1897
msgid "Updated"
msgstr ""
-#: config.py:1268
+#: config.py:1280
msgid "Created"
msgstr ""
-#: config.py:1269
+#: config.py:1281
msgid "Rating"
msgstr ""
-#: config.py:1270
+#: config.py:1282
msgid "Warnings"
msgstr ""
-#: config.py:1271
+#: config.py:1283
msgid "Chapters"
msgstr ""
-#: config.py:1272
+#: config.py:1284
msgid "Words"
msgstr ""
-#: config.py:1273
+#: config.py:1285
msgid "Site"
msgstr ""
-#: config.py:1274
+#: config.py:1286
msgid "Story ID"
msgstr ""
-#: config.py:1275
+#: config.py:1287
msgid "Author ID"
msgstr ""
-#: config.py:1276
+#: config.py:1288
msgid "Extra Tags"
msgstr ""
-#: config.py:1277 config.py:1435 dialogs.py:917 dialogs.py:1013
-#: fff_plugin.py:1478 fff_plugin.py:1690 fff_plugin.py:1720
+#: config.py:1289 config.py:1447 dialogs.py:933 dialogs.py:1029
+#: fff_plugin.py:1491 fff_plugin.py:1703 fff_plugin.py:1733
msgid "Title"
msgstr ""
-#: config.py:1278
+#: config.py:1290
msgid "Story URL"
msgstr ""
-#: config.py:1279
+#: config.py:1291
msgid "Description"
msgstr ""
-#: config.py:1280 dialogs.py:917 dialogs.py:1013 fff_plugin.py:1478
-#: fff_plugin.py:1690 fff_plugin.py:1720
+#: config.py:1292 dialogs.py:933 dialogs.py:1029 fff_plugin.py:1491
+#: fff_plugin.py:1703 fff_plugin.py:1733
msgid "Author"
msgstr ""
-#: config.py:1281
+#: config.py:1293
msgid "Author URL"
msgstr ""
-#: config.py:1282
+#: config.py:1294
msgid "File Format"
msgstr ""
-#: config.py:1283
+#: config.py:1295
msgid "File Extension"
msgstr ""
-#: config.py:1284
+#: config.py:1296
msgid "Site Abbrev"
msgstr ""
-#: config.py:1285
+#: config.py:1297
msgid "FanFicFare Version"
msgstr ""
-#: config.py:1300
+#: config.py:1312
msgid "If you have custom columns defined, they will be listed below. Choose a metadata value type to fill your columns automatically."
msgstr ""
-#: config.py:1325
+#: config.py:1337
msgid "Update this %s column(%s) with..."
msgstr ""
-#: config.py:1335
+#: config.py:1347
msgid "Values that aren't valid for this enumeration column will be ignored."
msgstr ""
-#: config.py:1335 config.py:1337
+#: config.py:1347 config.py:1349
msgid "Metadata values valid for this type of column."
msgstr ""
-#: config.py:1340 config.py:1462
+#: config.py:1352 config.py:1474
msgid "New Only"
msgstr ""
-#: config.py:1341
+#: config.py:1353
msgid ""
"Write to %s(%s) only for new\n"
"books, not updates to existing books."
msgstr ""
-#: config.py:1352
+#: config.py:1364
msgid "Allow %(ccset)s from %(pini)s to override"
msgstr ""
-#: config.py:1353
+#: config.py:1365
msgid "The %(pini)s parameter %(ccset)s allows you to set custom columns to site specific values that aren't common to all sites.
%(ccset)s is ignored when this is off."
msgstr ""
-#: config.py:1357
+#: config.py:1369
msgid "Special column:"
msgstr ""
-#: config.py:1362
+#: config.py:1374
msgid "Update/Overwrite Error Column:"
msgstr ""
-#: config.py:1363
+#: config.py:1375
msgid ""
"When an update or overwrite of an existing story fails, record the reason in this column.\n"
"(Text and Long Text columns only.)"
msgstr ""
-#: config.py:1376
+#: config.py:1388
msgid "Save All Errors"
msgstr ""
-#: config.py:1377
+#: config.py:1389
msgid "If unchecked, these errors will not be saved: %s"
msgstr ""
-#: config.py:1379 fff_plugin.py:1356 jobs.py:219
+#: config.py:1391 fff_plugin.py:1369 jobs.py:219
msgid "Not Overwriting, web site is not newer."
msgstr ""
-#: config.py:1380 fff_plugin.py:1335 jobs.py:258
+#: config.py:1392 fff_plugin.py:1348 jobs.py:260
msgid "Already contains %d chapters."
msgstr ""
-#: config.py:1387
+#: config.py:1399
msgid "Saved Metadata Column:"
msgstr ""
-#: config.py:1388
+#: config.py:1400
msgid "If set, FanFicFare will save a copy of all its metadata in this column when the book is downloaded or updated.
The metadata from this column can later be used to update custom columns without having to request the metadata from the server again.
(Long Text columns only.)"
msgstr ""
-#: config.py:1406
+#: config.py:1418
msgid "Last Checked Column:"
msgstr ""
-#: config.py:1407
+#: config.py:1419
msgid ""
"Record the last time FanFicFare updated or checked for updates.\n"
"(Date columns only.)"
msgstr ""
-#: config.py:1436
+#: config.py:1448
msgid "Author(s)"
msgstr ""
-#: config.py:1437
+#: config.py:1449
msgid "Publisher"
msgstr ""
-#: config.py:1438
+#: config.py:1450
msgid "Tags"
msgstr ""
-#: config.py:1439
+#: config.py:1451
msgid "Languages"
msgstr ""
-#: config.py:1440
+#: config.py:1452
msgid "Published Date"
msgstr ""
-#: config.py:1441
+#: config.py:1453
msgid "Date"
msgstr ""
-#: config.py:1442
+#: config.py:1454
msgid "Comments"
msgstr ""
-#: config.py:1444
+#: config.py:1456
msgid "Ids(url id only)"
msgstr ""
-#: config.py:1449
+#: config.py:1461
msgid "The standard calibre metadata columns are listed below. You may choose whether FanFicFare will fill each column automatically on updates or only for new books."
msgstr ""
-#: config.py:1463
+#: config.py:1475
msgid ""
"Write to %s only for new\n"
"books, not updates to existing books."
msgstr ""
-#: config.py:1472
+#: config.py:1484
msgid "Other Standard Column Options"
msgstr ""
-#: config.py:1477
+#: config.py:1489
msgid "Set Calibre Author URL"
msgstr ""
-#: config.py:1478
+#: config.py:1490
msgid "Set Calibre Author URL to Author's URL on story site."
msgstr ""
-#: config.py:1482
+#: config.py:1494
msgid "Include Books' Comments in Anthology Comments?"
msgstr ""
-#: config.py:1483
+#: config.py:1495
msgid ""
"Include all the merged books' comments in the new book's comments.\n"
"Default is a list of included titles only."
msgstr ""
-#: config.py:1488
+#: config.py:1500
msgid "Set Anthology Comments only for new books"
msgstr ""
-#: config.py:1489
+#: config.py:1501
msgid ""
"Comments will only be set for New Anthologies, not updates.\n"
"That way comments you set manually are retained."
msgstr ""
-#: config.py:1506
+#: config.py:1518
msgid "These settings will allow FanFicFare to fetch story URLs from your email account. It will only look for story URLs in unread emails in the folder specified below."
msgstr ""
-#: config.py:1511
+#: config.py:1523
msgid "IMAP Server Name"
msgstr ""
-#: config.py:1512
+#: config.py:1524
msgid "Name of IMAP server--must allow IMAP4 with SSL. Eg: imap.gmail.com"
msgstr ""
-#: config.py:1521
+#: config.py:1533
msgid "IMAP User Name"
msgstr ""
-#: config.py:1522
+#: config.py:1534
msgid ""
"Name of IMAP user. Eg: yourname@gmail.com\n"
"Note that Gmail accounts need to have IMAP enabled in Gmail Settings first."
msgstr ""
-#: config.py:1531
+#: config.py:1543
msgid "IMAP User Password"
msgstr ""
-#: config.py:1532
+#: config.py:1544
msgid "IMAP password. If left empty, FanFicFare will ask you for your password when you use the feature."
msgstr ""
-#: config.py:1542
+#: config.py:1554
msgid "Remember Password for Session (when not saved above)"
msgstr ""
-#: config.py:1543
+#: config.py:1555
msgid "If checked, and no password is entered above, FanFicFare will remember your password until you close calibre or change Libraries."
msgstr ""
-#: config.py:1548
+#: config.py:1560
msgid "IMAP Folder Name"
msgstr ""
-#: config.py:1549
+#: config.py:1561
msgid "Name of IMAP folder to search for new emails. The folder (or label) has to already exist. Use INBOX for your default inbox."
msgstr ""
-#: config.py:1558
+#: config.py:1570
msgid "Mark Emails Read"
msgstr ""
-#: config.py:1559
+#: config.py:1571
msgid "If checked, emails will be marked as having been read if they contain any story URLs."
msgstr ""
-#: config.py:1564
+#: config.py:1576
msgid "Discard URLs on Reject List"
msgstr ""
-#: config.py:1565
+#: config.py:1577
msgid "If checked, FanFicFare will silently discard story URLs from emails that are on your Reject URL List.
Otherwise they will appear and you will see the normal Reject URL dialog.
The Emails will still be marked Read if configured to."
msgstr ""
-#: config.py:1570
+#: config.py:1582
msgid "Update Existing Books Only"
msgstr ""
-#: config.py:1571
+#: config.py:1583
msgid "If checked, FanFicFare will silently discard story URLs from emails that are not already in your library.
Otherwise all story URLs, new and existing, will be used.
The Emails will still be marked Read if configured to."
msgstr ""
-#: config.py:1576
+#: config.py:1588
msgid "Download from Email Immediately"
msgstr ""
-#: config.py:1577
+#: config.py:1589
msgid "If checked, FanFicFare will start downloading story URLs from emails immediately.
Otherwise the usual Download from URLs dialog will appear."
msgstr ""
-#: config.py:1582
+#: config.py:1594
msgid "It's safest if you create a separate email account that you use only for your story update notices. FanFicFare and calibre cannot guarantee that malicious code cannot get your email password once you've entered it.
Use this feature at your own risk. "
msgstr ""
-#: dialogs.py:245 dialogs.py:797
+#: dialogs.py:250 dialogs.py:809
msgid "Show Download Options"
msgstr ""
-#: dialogs.py:264 dialogs.py:817
+#: dialogs.py:269 dialogs.py:829
msgid "Output &Format:"
msgstr ""
-#: dialogs.py:272 dialogs.py:825
+#: dialogs.py:277 dialogs.py:837
msgid "Choose output format to create. May set default from plugin configuration."
msgstr ""
-#: dialogs.py:300 dialogs.py:845
+#: dialogs.py:305 dialogs.py:857
msgid "Update Calibre &Metadata?"
msgstr ""
-#: dialogs.py:301 dialogs.py:846
+#: dialogs.py:306 dialogs.py:858
msgid ""
"Update metadata for existing stories in Calibre from web site?\n"
"(Columns set to 'New Only' in the column tabs will only be set for new books.)"
msgstr ""
-#: dialogs.py:307 dialogs.py:850
+#: dialogs.py:312 dialogs.py:862
msgid "Update EPUB Cover?"
msgstr ""
-#: dialogs.py:308 dialogs.py:851
+#: dialogs.py:313 dialogs.py:863
msgid "Update book cover image from site or defaults (if found) inside the EPUB when EPUB is updated."
msgstr ""
-#: dialogs.py:370
+#: dialogs.py:379
msgid "Story URLs for anthology, one per line:"
msgstr ""
-#: dialogs.py:371
+#: dialogs.py:380
msgid ""
"URLs for stories to include in the anthology, one per line.\n"
"Will take URLs from clipboard, but only valid URLs."
msgstr ""
-#: dialogs.py:372
+#: dialogs.py:381
msgid "If Story Already Exists in Anthology?"
msgstr ""
-#: dialogs.py:373
+#: dialogs.py:382
msgid "What to do if there's already an existing story with the same URL in the anthology."
msgstr ""
-#: dialogs.py:382
+#: dialogs.py:391
msgid "Story URLs, one per line:"
msgstr ""
-#: dialogs.py:383
+#: dialogs.py:392
msgid ""
"URLs for stories, one per line.\n"
"Will take URLs from clipboard, but only valid URLs.\n"
"Add [1,5] after the URL to limit the download to chapters 1-5."
msgstr ""
-#: dialogs.py:384
+#: dialogs.py:393
msgid "If Story Already Exists?"
msgstr ""
-#: dialogs.py:385
+#: dialogs.py:394
msgid "What to do if there's already an existing story with the same URL or title and author."
msgstr ""
-#: dialogs.py:505
+#: dialogs.py:517
msgid "For Individual Books"
msgstr ""
-#: dialogs.py:506
+#: dialogs.py:518
msgid "Get URLs and go to dialog for individual story downloads."
msgstr ""
-#: dialogs.py:511
+#: dialogs.py:523
msgid "For Anthology Epub"
msgstr ""
-#: dialogs.py:512
+#: dialogs.py:524
msgid ""
"Get URLs and go to dialog for Anthology download.\n"
"Requires %s plugin."
msgstr ""
-#: dialogs.py:516 dialogs.py:570 dialogs.py:617 dialogs.py:1540
+#: dialogs.py:528 dialogs.py:582 dialogs.py:629 dialogs.py:1556
msgid "Cancel"
msgstr ""
-#: dialogs.py:548 dialogs.py:1528
+#: dialogs.py:560 dialogs.py:1544
msgid "Password"
msgstr ""
-#: dialogs.py:549
+#: dialogs.py:561
msgid "Author requires a password for this story(%s)."
msgstr ""
-#: dialogs.py:554
+#: dialogs.py:566
msgid "User/Password"
msgstr ""
-#: dialogs.py:555
+#: dialogs.py:567
msgid "%s requires you to login to download this story."
msgstr ""
-#: dialogs.py:557
+#: dialogs.py:569
msgid "User:"
msgstr ""
-#: dialogs.py:561
+#: dialogs.py:573
msgid "Password:"
msgstr ""
-#: dialogs.py:566 dialogs.py:739 dialogs.py:1536
+#: dialogs.py:578 dialogs.py:751 dialogs.py:1552
msgid "OK"
msgstr ""
-#: dialogs.py:588 dialogs.py:612 fff_plugin.py:973
+#: dialogs.py:600 dialogs.py:624 fff_plugin.py:973
msgid "Fetching metadata for stories..."
msgstr ""
-#: dialogs.py:589 dialogs.py:613 fff_plugin.py:974
+#: dialogs.py:601 dialogs.py:625 fff_plugin.py:974
msgid "Downloading metadata for stories"
msgstr ""
-#: dialogs.py:590 dialogs.py:614 fff_plugin.py:975
+#: dialogs.py:602 dialogs.py:626 fff_plugin.py:975
msgid "Fetched metadata for"
msgstr ""
-#: dialogs.py:644
+#: dialogs.py:656
msgid " - %s estimated until done"
msgstr ""
-#: dialogs.py:668 fff_plugin.py:1185
+#: dialogs.py:680 fff_plugin.py:1189
msgid "Skipped"
msgstr ""
-#: dialogs.py:699
+#: dialogs.py:711
msgid "%d day"
msgstr ""
-#: dialogs.py:699
+#: dialogs.py:711
msgid "%d days"
msgstr ""
-#: dialogs.py:700
+#: dialogs.py:712
msgid "%d hour"
msgstr ""
-#: dialogs.py:700
+#: dialogs.py:712
msgid "%d hours"
msgstr ""
-#: dialogs.py:701
+#: dialogs.py:713
msgid "%d minute"
msgstr ""
-#: dialogs.py:701
+#: dialogs.py:713
msgid "%d minutes"
msgstr ""
-#: dialogs.py:702
+#: dialogs.py:714
msgid "%d second"
msgstr ""
-#: dialogs.py:702
+#: dialogs.py:714
msgid "%d seconds"
msgstr ""
-#: dialogs.py:717
+#: dialogs.py:729
msgid "less than 1 second"
msgstr ""
-#: dialogs.py:734 fff_plugin.py:387 fff_plugin.py:390
+#: dialogs.py:746 fff_plugin.py:387 fff_plugin.py:390
msgid "About FanFicFare"
msgstr ""
-#: dialogs.py:788
+#: dialogs.py:800
msgid "Remove selected books from the list"
msgstr ""
-#: dialogs.py:830
+#: dialogs.py:842
msgid "Update Mode:"
msgstr ""
-#: dialogs.py:833
+#: dialogs.py:845
msgid "What sort of update to perform. May set default from plugin configuration."
msgstr ""
-#: dialogs.py:855
+#: dialogs.py:867
msgid "Background Metadata?"
msgstr ""
-#: dialogs.py:856
+#: dialogs.py:868
msgid "Collect Metadata from sites in a Background process.
This returns control to you quicker while updating, but you won't be asked for username/passwords or if you are an adult--stories that need those will just fail."
msgstr ""
-#: dialogs.py:917 fff_plugin.py:1478 fff_plugin.py:1690 fff_plugin.py:1720
+#: dialogs.py:933 fff_plugin.py:1491 fff_plugin.py:1703 fff_plugin.py:1733
msgid "Comment"
msgstr ""
-#: dialogs.py:985
+#: dialogs.py:1001
msgid "Are you sure you want to remove this book from the list?"
msgstr ""
-#: dialogs.py:987
+#: dialogs.py:1003
msgid "Are you sure you want to remove the selected %d books from the list?"
msgstr ""
-#: dialogs.py:1013
+#: dialogs.py:1029
msgid "Note"
msgstr ""
-#: dialogs.py:1052
+#: dialogs.py:1068
msgid "Select or Edit Reject Note."
msgstr ""
-#: dialogs.py:1061
+#: dialogs.py:1077
msgid "Are you sure you want to remove this URL from the list?"
msgstr ""
-#: dialogs.py:1063
+#: dialogs.py:1079
msgid "Are you sure you want to remove the %d selected URLs from the list?"
msgstr ""
-#: dialogs.py:1081
+#: dialogs.py:1097
msgid "List of Books to Reject"
msgstr ""
-#: dialogs.py:1094
+#: dialogs.py:1110
msgid "FFF will remember these URLs and display the note and offer to reject them if you try to download them again later."
msgstr ""
-#: dialogs.py:1108
+#: dialogs.py:1124
msgid "Remove selected URLs from the list"
msgstr ""
-#: dialogs.py:1123 dialogs.py:1127
+#: dialogs.py:1139 dialogs.py:1143
msgid "This will be added to whatever note you've set for each URL above."
msgstr ""
-#: dialogs.py:1140
+#: dialogs.py:1156
msgid "Delete Books (including books without FanFiction URLs)?"
msgstr ""
-#: dialogs.py:1141
+#: dialogs.py:1157
msgid "Delete the selected books after adding them to the Rejected URLs list."
msgstr ""
-#: dialogs.py:1297
+#: dialogs.py:1313
msgid "Search for string in edit box."
msgstr ""
-#: dialogs.py:1300
+#: dialogs.py:1316
msgid "Find:"
msgstr ""
-#: dialogs.py:1305
+#: dialogs.py:1321
msgid "Find"
msgstr ""
-#: dialogs.py:1315
+#: dialogs.py:1331
msgid "Case sensitive"
msgstr ""
-#: dialogs.py:1316
+#: dialogs.py:1332
msgid "Search for case sensitive string; don't treat Harry, HARRY and harry all the same."
msgstr ""
-#: dialogs.py:1345
+#: dialogs.py:1361
msgid "Go back to fix errors?"
msgstr ""
-#: dialogs.py:1457
+#: dialogs.py:1473
msgid "Click an error below to return to Editing directly on that line:"
msgstr ""
-#: dialogs.py:1480
+#: dialogs.py:1496
msgid "Click to go to line %s"
msgstr ""
-#: dialogs.py:1496
+#: dialogs.py:1512
msgid "Return to Editing"
msgstr ""
-#: dialogs.py:1500
+#: dialogs.py:1516
msgid "Save Anyway"
msgstr ""
-#: dialogs.py:1529
+#: dialogs.py:1545
msgid "Enter Email Password for %s:"
msgstr ""
@@ -1537,7 +1537,7 @@ msgstr ""
msgid "Books UnNewed"
msgstr ""
-#: fff_plugin.py:680 fff_plugin.py:1649
+#: fff_plugin.py:680 fff_plugin.py:1662
msgid "Starting auto conversion of %d books."
msgstr ""
@@ -1661,7 +1661,7 @@ msgstr ""
msgid "Click 'Yes' to Reject."
msgstr ""
-#: fff_plugin.py:1006 fff_plugin.py:1177
+#: fff_plugin.py:1006 fff_plugin.py:1181
msgid "Click 'No' to download anyway."
msgstr ""
@@ -1689,299 +1689,303 @@ msgstr ""
msgid "Click 'No' to leave it on the list."
msgstr ""
-#: fff_plugin.py:1068
-msgid "Cannot update non-epub format."
-msgstr ""
-
-#: fff_plugin.py:1144
+#: fff_plugin.py:1045
msgid "Are You an Adult?"
msgstr ""
-#: fff_plugin.py:1145
+#: fff_plugin.py:1046
msgid "%s requires that you be an adult. Please confirm you are an adult in your locale:"
msgstr ""
-#: fff_plugin.py:1168
+#: fff_plugin.py:1092
+msgid "Cannot update non-epub format."
+msgstr ""
+
+#: fff_plugin.py:1172
msgid "Skip Story?"
msgstr ""
-#: fff_plugin.py:1174
+#: fff_plugin.py:1178
msgid "Skip Anthology Story?"
msgstr ""
-#: fff_plugin.py:1175
+#: fff_plugin.py:1179
msgid "\"%s\" is in series \"%s\" that you have an anthology book for."
msgstr ""
-#: fff_plugin.py:1176
+#: fff_plugin.py:1180
msgid "Click 'Yes' to Skip."
msgstr ""
-#: fff_plugin.py:1179
+#: fff_plugin.py:1183
msgid "Story in Series Anthology(%s)."
msgstr ""
-#: fff_plugin.py:1195
+#: fff_plugin.py:1199
msgid "Add"
msgstr ""
-#: fff_plugin.py:1228
+#: fff_plugin.py:1232
msgid "Meta"
msgstr ""
-#: fff_plugin.py:1257
+#: fff_plugin.py:1261
msgid "Skipping duplicate story."
msgstr ""
-#: fff_plugin.py:1260
+#: fff_plugin.py:1264
msgid "More than one identical book by Identifier URL or title/author(s)--can't tell which book to update/overwrite."
msgstr ""
-#: fff_plugin.py:1271
+#: fff_plugin.py:1275
msgid "Update"
msgstr ""
-#: fff_plugin.py:1279 fff_plugin.py:1286
-msgid "Change Story URL?"
+#: fff_plugin.py:1285
+msgid "Update declined due to differing story URL(%s)(%s tag present)"
msgstr ""
-#: fff_plugin.py:1287
-msgid "%s by %s is already in your library with a different source URL:"
-msgstr ""
-
-#: fff_plugin.py:1288
-msgid "In library: %(liburl)s"
-msgstr ""
-
-#: fff_plugin.py:1289 fff_plugin.py:1303
-msgid "New URL: %(newurl)s"
-msgstr ""
-
-#: fff_plugin.py:1290
-msgid "Click 'Yes' to update/overwrite book with new URL."
-msgstr ""
-
-#: fff_plugin.py:1291
-msgid "Click 'No' to skip updating/overwriting this book."
-msgstr ""
-
-#: fff_plugin.py:1293 fff_plugin.py:1300
-msgid "Download as New Book?"
-msgstr ""
-
-#: fff_plugin.py:1301
-msgid "%s by %s is already in your library with a different source URL."
-msgstr ""
-
-#: fff_plugin.py:1302
-msgid "You chose not to update the existing book. Do you want to add a new book for this URL?"
-msgstr ""
-
-#: fff_plugin.py:1304
-msgid "Click 'Yes' to a new book with new URL."
-msgstr ""
-
-#: fff_plugin.py:1305
-msgid "Click 'No' to skip URL."
-msgstr ""
-
-#: fff_plugin.py:1311
-msgid "Update declined by user due to differing story URL(%s)"
-msgstr ""
-
-#: fff_plugin.py:1314
+#: fff_plugin.py:1288 fff_plugin.py:1325
msgid "Different URL"
msgstr ""
-#: fff_plugin.py:1319 jobs.py:194
+#: fff_plugin.py:1290 fff_plugin.py:1297
+msgid "Change Story URL?"
+msgstr ""
+
+#: fff_plugin.py:1298
+msgid "%s by %s is already in your library with a different source URL:"
+msgstr ""
+
+#: fff_plugin.py:1299
+msgid "In library: %(liburl)s"
+msgstr ""
+
+#: fff_plugin.py:1300 fff_plugin.py:1314
+msgid "New URL: %(newurl)s"
+msgstr ""
+
+#: fff_plugin.py:1301
+msgid "Click 'Yes' to update/overwrite book with new URL."
+msgstr ""
+
+#: fff_plugin.py:1302
+msgid "Click 'No' to skip updating/overwriting this book."
+msgstr ""
+
+#: fff_plugin.py:1304 fff_plugin.py:1311
+msgid "Download as New Book?"
+msgstr ""
+
+#: fff_plugin.py:1312
+msgid "%s by %s is already in your library with a different source URL."
+msgstr ""
+
+#: fff_plugin.py:1313
+msgid "You chose not to update the existing book. Do you want to add a new book for this URL?"
+msgstr ""
+
+#: fff_plugin.py:1315
+msgid "Click 'Yes' to a new book with new URL."
+msgstr ""
+
+#: fff_plugin.py:1316
+msgid "Click 'No' to skip URL."
+msgstr ""
+
+#: fff_plugin.py:1322
+msgid "Update declined by user due to differing story URL(%s)"
+msgstr ""
+
+#: fff_plugin.py:1330 jobs.py:194
msgid "Metadata collected."
msgstr ""
-#: fff_plugin.py:1337 jobs.py:260
+#: fff_plugin.py:1350 jobs.py:262
msgid "Existing epub contains %d chapters, web site only has %d. Use Overwrite to force update."
msgstr ""
-#: fff_plugin.py:1339 jobs.py:262
+#: fff_plugin.py:1352 jobs.py:264
msgid "FanFicFare doesn't recognize chapters in existing epub, epub is probably from a different source. Use Overwrite to force update."
msgstr ""
-#: fff_plugin.py:1474
+#: fff_plugin.py:1487
msgid "None of the %d URLs/stories given can be/need to be downloaded."
msgstr ""
-#: fff_plugin.py:1475 fff_plugin.py:1686 fff_plugin.py:1716
+#: fff_plugin.py:1488 fff_plugin.py:1699 fff_plugin.py:1729
msgid "See log for details."
msgstr ""
-#: fff_plugin.py:1476
+#: fff_plugin.py:1489
msgid "Proceed with updating your library(Error or Last Checked Columns, if configured)?"
msgstr ""
-#: fff_plugin.py:1483 fff_plugin.py:1698 fff_plugin.py:1732
+#: fff_plugin.py:1496 fff_plugin.py:1711 fff_plugin.py:1745
msgid "Bad"
msgstr ""
-#: fff_plugin.py:1494 fff_plugin.py:1500
+#: fff_plugin.py:1507 fff_plugin.py:1513
msgid "FanFicFare download ended"
msgstr ""
-#: fff_plugin.py:1494 fff_plugin.py:1500 fff_plugin.py:1743 fff_plugin.py:1749
+#: fff_plugin.py:1507 fff_plugin.py:1513 fff_plugin.py:1756 fff_plugin.py:1762
msgid "FanFicFare log"
msgstr ""
-#: fff_plugin.py:1521
+#: fff_plugin.py:1534
msgid "Download %s FanFiction Book(s)"
msgstr ""
-#: fff_plugin.py:1528
+#: fff_plugin.py:1541
msgid "Starting %d FanFicFare Downloads"
msgstr ""
-#: fff_plugin.py:1562
+#: fff_plugin.py:1575
msgid "Story Details:"
msgstr ""
-#: fff_plugin.py:1565
+#: fff_plugin.py:1578
msgid "Error Updating Metadata"
msgstr ""
-#: fff_plugin.py:1566
+#: fff_plugin.py:1579
msgid "An error has occurred while FanFicFare was updating calibre's metadata for %s."
msgstr ""
-#: fff_plugin.py:1567
+#: fff_plugin.py:1580
msgid "The ebook has been updated, but the metadata has not."
msgstr ""
-#: fff_plugin.py:1619
+#: fff_plugin.py:1632
msgid "Finished Adding/Updating %d books."
msgstr ""
-#: fff_plugin.py:1670
+#: fff_plugin.py:1683
msgid "No Good Stories for Anthology"
msgstr ""
-#: fff_plugin.py:1671
+#: fff_plugin.py:1684
msgid "No good stories/updates where downloaded, Anthology creation/update aborted."
msgstr ""
-#: fff_plugin.py:1676 fff_plugin.py:1715
+#: fff_plugin.py:1689 fff_plugin.py:1728
msgid "FanFicFare found %s good and %s bad updates."
msgstr ""
-#: fff_plugin.py:1683
+#: fff_plugin.py:1696
msgid "Are you sure you want to continue with creating/updating this Anthology?"
msgstr ""
-#: fff_plugin.py:1684
+#: fff_plugin.py:1697
msgid "Any updates that failed will not be included in the Anthology."
msgstr ""
-#: fff_plugin.py:1685
+#: fff_plugin.py:1698
msgid "However, if there's an older version, it will still be included."
msgstr ""
-#: fff_plugin.py:1688
+#: fff_plugin.py:1701
msgid "Proceed with updating this anthology and your library?"
msgstr ""
-#: fff_plugin.py:1696 fff_plugin.py:1725
+#: fff_plugin.py:1709 fff_plugin.py:1738
msgid "Good"
msgstr ""
-#: fff_plugin.py:1717
+#: fff_plugin.py:1730
msgid "Proceed with updating your library?"
msgstr ""
-#: fff_plugin.py:1743 fff_plugin.py:1749
+#: fff_plugin.py:1756 fff_plugin.py:1762
msgid "FanFicFare download complete"
msgstr ""
-#: fff_plugin.py:1763
+#: fff_plugin.py:1776
msgid "Merging %s books."
msgstr ""
-#: fff_plugin.py:1852
+#: fff_plugin.py:1865
msgid "FanFicFare Adding/Updating books."
msgstr ""
-#: fff_plugin.py:1866
+#: fff_plugin.py:1879
msgid "Updating calibre for FanFiction stories..."
msgstr ""
-#: fff_plugin.py:1867
+#: fff_plugin.py:1880
msgid "Update calibre for FanFiction stories"
msgstr ""
-#: fff_plugin.py:1877
+#: fff_plugin.py:1890
msgid "Adding/Updating %s BAD books."
msgstr ""
-#: fff_plugin.py:1882
+#: fff_plugin.py:1895
msgid "Updating calibre for BAD FanFiction stories..."
msgstr ""
-#: fff_plugin.py:1883
+#: fff_plugin.py:1896
msgid "Update calibre for BAD FanFiction stories"
msgstr ""
-#: fff_plugin.py:1922
+#: fff_plugin.py:1935
msgid "Adding format to book failed for some reason..."
msgstr ""
-#: fff_plugin.py:1925 jobs.py:317
+#: fff_plugin.py:1938 jobs.py:319
msgid "Error"
msgstr ""
-#: fff_plugin.py:2273
+#: fff_plugin.py:2288
msgid "You configured FanFicFare to automatically update Reading Lists, but you don't have the %s plugin installed anymore?"
msgstr ""
-#: fff_plugin.py:2285
+#: fff_plugin.py:2300
msgid "You configured FanFicFare to automatically update \"To Read\" Reading Lists, but you don't have any lists set?"
msgstr ""
-#: fff_plugin.py:2295 fff_plugin.py:2313
+#: fff_plugin.py:2310 fff_plugin.py:2328
msgid "You configured FanFicFare to automatically update Reading List '%s', but you don't have a list of that name?"
msgstr ""
-#: fff_plugin.py:2301
+#: fff_plugin.py:2316
msgid "You configured FanFicFare to automatically update \"Send to Device\" Reading Lists, but you don't have any lists set?"
msgstr ""
-#: fff_plugin.py:2368
+#: fff_plugin.py:2383
msgid "Same story already included."
msgstr ""
-#: fff_plugin.py:2428
+#: fff_plugin.py:2440
msgid "No story URL found."
msgstr ""
-#: fff_plugin.py:2431
+#: fff_plugin.py:2443
msgid "Not Found"
msgstr ""
-#: fff_plugin.py:2437
+#: fff_plugin.py:2449
msgid "URL is not a valid story URL."
msgstr ""
-#: fff_plugin.py:2440
+#: fff_plugin.py:2452
msgid "Bad URL"
msgstr ""
-#: fff_plugin.py:2594
+#: fff_plugin.py:2606
msgid "Anthology containing:"
msgstr ""
-#: fff_plugin.py:2596
+#: fff_plugin.py:2608
msgid "%s by %s"
msgstr ""
-#: fff_plugin.py:2638
+#: fff_plugin.py:2650
msgid " Anthology"
msgstr ""
-#: fff_plugin.py:2681
+#: fff_plugin.py:2693
msgid "(was set, removed for security)"
msgstr ""
@@ -2013,11 +2017,11 @@ msgstr ""
msgid "Download %s completed, %s chapters."
msgstr ""
-#: jobs.py:251
+#: jobs.py:253
msgid "Already contains %d chapters. Reuse as is."
msgstr ""
-#: jobs.py:274
+#: jobs.py:276
msgid "Update %s completed, added %s chapters for %s total."
msgstr ""