diff --git a/calibre-plugin/config.py b/calibre-plugin/config.py index a05f93cc..b279138c 100644 --- a/calibre-plugin/config.py +++ b/calibre-plugin/config.py @@ -5,7 +5,7 @@ from __future__ import (unicode_literals, division, absolute_import, import six __license__ = 'GPL v3' -__copyright__ = '2019, Jim Miller' +__copyright__ = '2020, Jim Miller' __docformat__ = 'restructuredtext en' import logging @@ -366,6 +366,7 @@ class ConfigWidget(QWidget): prefs['suppresstitlesort'] = self.std_columns_tab.suppresstitlesort.isChecked() prefs['authorcase'] = self.std_columns_tab.authorcase.isChecked() prefs['titlecase'] = self.std_columns_tab.titlecase.isChecked() + prefs['setanthologyseries'] = self.std_columns_tab.setanthologyseries.isChecked() prefs['set_author_url'] =self.std_columns_tab.set_author_url.isChecked() prefs['includecomments'] =self.std_columns_tab.includecomments.isChecked() @@ -1533,6 +1534,11 @@ class StandardColumnsTab(QWidget): +"\n"+_("This effects Calibre metadata only, not FanFicFare metadata in title page.")) self.authorcase.setChecked(prefs['authorcase']) row.append(self.authorcase) + elif key == 'series': + self.setanthologyseries = QCheckBox(_("Set 'Series [0]' for New Anthologies?"),self) + self.setanthologyseries.setToolTip(_("If checked, the Series column will be set to 'Series Name [0]' when an Anthology for a series is first created.")) + self.setanthologyseries.setChecked(prefs['setanthologyseries']) + row.append(self.setanthologyseries) grid = QGridLayout() for rownum, row in enumerate(rows): diff --git a/calibre-plugin/fff_plugin.py b/calibre-plugin/fff_plugin.py index d2909af0..f9f8d77b 100644 --- a/calibre-plugin/fff_plugin.py +++ b/calibre-plugin/fff_plugin.py @@ -6,7 +6,7 @@ import six from six.moves import range __license__ = 'GPL v3' -__copyright__ = '2019, Jim Miller' +__copyright__ = '2020, Jim Miller' __docformat__ = 'restructuredtext en' from .fanficfare.six import string_types, text_type as unicode @@ -2232,10 +2232,11 @@ class FanFicFarePlugin(InterfaceAction): logger.info("Failed to set_cover, skipping") # First, should cover generation happen at all? + logger.debug("book['all_metadata']['cover_image']:%s"%book['all_metadata']['cover_image']) if (book['added'] or not prefs['gcnewonly']) and ( # skip if not new book and gcnewonly is True prefs['gencalcover'] == SAVE_YES ## yes, always or (prefs['gencalcover'] == SAVE_YES_UNLESS_IMG ## yes, unless image. - and book['all_metadata']['cover_image'] not in ('specific','first','default')) ): + and not book['all_metadata']['cover_image']) ): # not in ('specific','first','default','old') cover_generated = False # flag for polish below. # Yes, should do gencov. Which? @@ -2691,6 +2692,8 @@ class FanFicFarePlugin(InterfaceAction): if series != sr: book['title'] = deftitle break + if prefs['setanthologyseries'] and book['title'] == series: + book['series'] = series+' [0]' logger.debug("anthology_title_pattern:%s"%configuration.getConfig('anthology_title_pattern')) if configuration.getConfig('anthology_title_pattern'): diff --git a/calibre-plugin/prefs.py b/calibre-plugin/prefs.py index c946cbfe..4175989b 100644 --- a/calibre-plugin/prefs.py +++ b/calibre-plugin/prefs.py @@ -130,6 +130,7 @@ default_prefs['suppressauthorsort'] = False default_prefs['suppresstitlesort'] = False default_prefs['authorcase'] = False default_prefs['titlecase'] = False +default_prefs['setanthologyseries'] = False default_prefs['mark'] = False default_prefs['showmarked'] = False default_prefs['autoconvert'] = False diff --git a/calibre-plugin/translations/messages.pot b/calibre-plugin/translations/messages.pot index b2ad1ce5..3307bf44 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: 2020-05-14 19:00-0500\n" +"POT-Creation-Date: 2020-07-15 12:12-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -135,73 +135,73 @@ msgstr "" msgid "Other" msgstr "" -#: config.py:433 +#: config.py:434 msgid "These settings control the basic features of the plugin--downloading FanFiction." msgstr "" -#: config.py:437 +#: config.py:438 msgid "Defaults Options on Download" msgstr "" -#: config.py:441 +#: config.py:442 msgid "On each download, FanFicFare offers an option to select the output format.
This sets what that option will default to." msgstr "" -#: config.py:443 +#: config.py:444 msgid "Default Output &Format:" msgstr "" -#: config.py:458 +#: config.py:459 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:460 +#: config.py:461 msgid "Default If Story Already Exists?" msgstr "" -#: config.py:475 +#: config.py:476 msgid "Default Update Calibre &Metadata?" msgstr "" -#: config.py:476 +#: config.py:477 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:480 +#: config.py:481 msgid "Default Update EPUB Cover when Updating EPUB?" msgstr "" -#: config.py:481 +#: config.py:482 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:485 +#: config.py:486 msgid "Default Background Metadata?" msgstr "" -#: config.py:486 +#: config.py:487 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:492 +#: config.py:493 msgid "Updating Calibre Options" msgstr "" -#: config.py:496 +#: config.py:497 msgid "Delete other existing formats?" msgstr "" -#: config.py:497 +#: config.py:498 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:501 +#: config.py:502 msgid "Keep Existing Tags when Updating Metadata?" msgstr "" -#: config.py:502 +#: config.py:503 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" @@ -209,384 +209,384 @@ msgid "" "(If Tags is set to 'New Only' in the Standard Columns tab, this has no effect.)" msgstr "" -#: config.py:506 +#: config.py:507 msgid "Check for existing Series Anthology books?" msgstr "" -#: config.py:507 +#: config.py:508 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:511 config.py:640 +#: config.py:512 config.py:641 msgid "Reject Without Confirmation?" msgstr "" -#: config.py:512 +#: config.py:513 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:521 +#: config.py:522 msgid "Check for changed Story URL?" msgstr "" -#: config.py:522 +#: config.py:523 msgid "" "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:526 +#: config.py:527 msgid "Search inside ebooks for Story URL?" msgstr "" -#: config.py:527 +#: config.py:528 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:531 +#: config.py:532 msgid "Post Processing Options" msgstr "" -#: config.py:535 +#: config.py:536 msgid "Mark added/updated books when finished?" msgstr "" -#: config.py:536 +#: config.py:537 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:540 +#: config.py:541 msgid "Show Marked books when finished?" msgstr "" -#: config.py:541 +#: config.py:542 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:545 +#: config.py:546 msgid "Smarten Punctuation (EPUB only)" msgstr "" -#: config.py:546 +#: config.py:547 msgid "Run Smarten Punctuation from Calibre's Polish Book feature on each EPUB download and update." msgstr "" -#: config.py:551 +#: config.py:552 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:555 +#: config.py:556 msgid "Calculate Word Count:" msgstr "" -#: config.py:568 +#: config.py:569 msgid "Automatically Convert new/update books?" msgstr "" -#: config.py:569 +#: config.py:570 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:573 +#: config.py:574 msgid "GUI Options" msgstr "" -#: config.py:577 +#: config.py:578 msgid "Take URLs from Clipboard?" msgstr "" -#: config.py:578 +#: config.py:579 msgid "Prefill URLs from valid URLs in Clipboard when Adding New." msgstr "" -#: config.py:582 +#: config.py:583 msgid "FanFicFare button opens menu?" msgstr "" -#: config.py:583 +#: config.py:584 msgid "The FanFicFare toolbar button will bring up the plugin menu. If unchecked, it will Download from URLs or optionally Update, see below." msgstr "" -#: config.py:587 +#: config.py:588 msgid "Default to Update when books selected?" msgstr "" -#: config.py:588 +#: config.py:589 msgid "The FanFicFare toolbar button will Update if books are selected. If unchecked, it will always Download from URLs." msgstr "" -#: config.py:597 +#: config.py:598 msgid "Keep 'Add New from URL(s)' dialog on top?" msgstr "" -#: config.py:598 +#: config.py:599 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:602 +#: config.py:603 msgid "Show estimated time left?" msgstr "" -#: config.py:603 +#: config.py:604 msgid "When a Progress Bar is shown, show a rough estimate of the time left." msgstr "" -#: config.py:607 +#: config.py:608 msgid "Misc Options" msgstr "" -#: config.py:611 +#: config.py:612 msgid "Inject calibre Series when none found?" msgstr "" -#: config.py:612 +#: config.py:613 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:616 +#: config.py:617 msgid "Search by Title/Author(s) for If Story Already Exists?" msgstr "" -#: config.py:617 +#: config.py:618 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:621 +#: config.py:622 msgid "Reject List" msgstr "" -#: config.py:625 +#: config.py:626 msgid "Edit Reject URL List" msgstr "" -#: config.py:626 +#: config.py:627 msgid "Edit list of URLs FanFicFare will automatically Reject." msgstr "" -#: config.py:630 config.py:708 +#: config.py:631 config.py:709 msgid "Add Reject URLs" msgstr "" -#: config.py:631 +#: config.py:632 msgid "Add additional URLs to Reject as text." msgstr "" -#: config.py:635 +#: config.py:636 msgid "Edit Reject Reasons List" msgstr "" -#: config.py:636 config.py:698 +#: config.py:637 config.py:699 msgid "Customize the Reasons presented when Rejecting URLs" msgstr "" -#: config.py:641 +#: config.py:642 msgid "Always reject URLs on the Reject List without stopping and asking." msgstr "" -#: config.py:645 +#: config.py:646 msgid "Delete on Reject by Default?" msgstr "" -#: config.py:646 +#: config.py:647 msgid "Should the checkbox to delete Rejected books be checked by default?" msgstr "" -#: config.py:683 +#: config.py:684 msgid "Edit Reject URLs List" msgstr "" -#: config.py:696 +#: config.py:697 msgid "Reject Reasons" msgstr "" -#: config.py:697 +#: config.py:698 msgid "Customize Reject List Reasons" msgstr "" -#: config.py:706 +#: config.py:707 msgid "Reason why I rejected it" msgstr "" -#: config.py:706 +#: config.py:707 msgid "Title by Author" msgstr "" -#: config.py:709 +#: config.py:710 msgid "Add Reject URLs. Use: http://...,note or http://...,title by author - note
Invalid story URLs will be ignored." msgstr "" -#: config.py:710 +#: config.py:711 msgid "" "One URL per line:\n" "http://...,note\n" "http://...,title by author - note" msgstr "" -#: config.py:712 dialogs.py:1164 +#: config.py:713 dialogs.py:1164 msgid "Add this reason to all URLs added:" msgstr "" -#: config.py:728 +#: config.py:729 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:735 +#: config.py:736 msgid "personal.ini" msgstr "" -#: config.py:742 config.py:846 config.py:847 +#: config.py:743 config.py:847 config.py:848 msgid "Edit personal.ini" msgstr "" -#: config.py:747 +#: config.py:748 msgid "FanFicFare now includes find, color coding, and error checking for personal.ini editing. Red generally indicates errors." msgstr "" -#: config.py:755 +#: config.py:756 msgid "View \"Safe\" personal.ini" msgstr "" -#: config.py:760 config.py:837 +#: config.py:761 config.py:838 msgid "View your personal.ini with usernames and passwords removed. For safely sharing your personal.ini settings with others." msgstr "" -#: config.py:766 +#: config.py:767 msgid "defaults.ini" msgstr "" -#: config.py:771 +#: config.py:772 msgid "" "View all of the plugin's configurable settings\n" "and their default settings." msgstr "" -#: config.py:772 +#: config.py:773 msgid "View Defaults" msgstr "" -#: config.py:783 +#: config.py:784 msgid "Calibre Columns" msgstr "" -#: config.py:790 +#: config.py:791 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:791 +#: config.py:792 msgid "Pass Calibre Columns into FanFicFare on Update/Overwrite" msgstr "" -#: config.py:804 +#: config.py:805 msgid "FanFicFare can pass the Calibre Columns into the download/update process.
This will show you the columns available by name." msgstr "" -#: config.py:805 +#: config.py:806 msgid "Show Calibre Column Names" msgstr "" -#: config.py:814 +#: config.py:815 msgid "Changes will only be saved if you click 'OK' to leave Customize FanFicFare." msgstr "" -#: config.py:824 +#: config.py:825 msgid "Plugin Defaults" msgstr "" -#: config.py:825 +#: config.py:826 msgid "Plugin Defaults (%s) (Read-Only)" msgstr "" -#: config.py:836 +#: config.py:837 msgid "View 'Safe' personal.ini" msgstr "" -#: config.py:870 +#: config.py:871 msgid "Calibre Column Entry Names" msgstr "" -#: config.py:871 +#: config.py:872 msgid "Label (entry_name)" msgstr "" -#: config.py:891 +#: config.py:892 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:896 +#: config.py:897 msgid "Add new/updated stories to \"Send to Device\" Reading List(s)." msgstr "" -#: config.py:897 +#: config.py:898 msgid "Automatically add new/updated stories to these lists in the %(rl)s plugin." msgstr "" -#: config.py:902 +#: config.py:903 msgid "\"Send to Device\" Reading Lists" msgstr "" -#: config.py:903 config.py:906 config.py:920 config.py:923 +#: config.py:904 config.py:907 config.py:921 config.py:924 msgid "When enabled, new/updated stories will be automatically added to these lists." msgstr "" -#: config.py:913 +#: config.py:914 msgid "Add new/updated stories to \"To Read\" Reading List(s)." msgstr "" -#: config.py:914 +#: config.py:915 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:919 +#: config.py:920 msgid "\"To Read\" Reading Lists" msgstr "" -#: config.py:930 +#: config.py:931 msgid "Add stories back to \"Send to Device\" Reading List(s) when marked \"Read\"." msgstr "" -#: config.py:931 +#: config.py:932 msgid "Menu option to remove from \"To Read\" lists will also add stories back to \"Send to Device\" Reading List(s)" msgstr "" -#: config.py:935 +#: config.py:936 msgid "Automatically run Remove \"New\" Chapter Marks when marking books \"Read\"." msgstr "" -#: config.py:936 +#: config.py:937 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:964 +#: config.py:965 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:972 +#: config.py:973 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" @@ -594,543 +594,551 @@ msgid "" "This comes before Generate Cover so %(gc)s(Plugin) use the image if configured to." msgstr "" -#: config.py:977 +#: config.py:978 msgid "Update Calibre Cover (from EPUB):" msgstr "" -#: config.py:995 +#: config.py:996 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:999 +#: config.py:1000 msgid "Generate Calibre Cover:" msgstr "" -#: config.py:1026 +#: config.py:1027 msgid "Plugin %(gc)s" msgstr "" -#: config.py:1027 +#: config.py:1028 msgid "Use plugin to create covers. Additional settings are below." msgstr "" -#: config.py:1034 +#: config.py:1035 msgid "Calibre Generate Cover" msgstr "" -#: config.py:1035 +#: config.py:1036 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:1049 +#: config.py:1050 msgid "Generate Covers Only for New Books" msgstr "" -#: config.py:1050 +#: config.py:1051 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:1056 +#: config.py:1057 msgid "Inject/update the cover inside EPUB" msgstr "" -#: config.py:1057 +#: config.py:1058 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:1063 +#: config.py:1064 msgid "%(gc)s(Plugin) Settings" msgstr "" -#: config.py:1071 +#: config.py:1072 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:1089 config.py:1093 config.py:1106 +#: config.py:1090 config.py:1094 config.py:1107 msgid "Default" msgstr "" -#: config.py:1094 +#: config.py:1095 msgid "On Metadata update, run %(gc)s with this setting, if there isn't a more specific setting below." msgstr "" -#: config.py:1097 +#: config.py:1098 msgid "On Metadata update, run %(gc)s with this setting for %(site)s stories." msgstr "" -#: config.py:1120 +#: config.py:1121 msgid "Allow %(gcset)s from %(pini)s to override" msgstr "" -#: config.py:1121 +#: config.py:1122 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:1159 +#: config.py:1160 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:1164 +#: config.py:1165 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:1170 +#: config.py:1171 msgid "Which column and algorithm to use are configured in %(cp)s." msgstr "" -#: config.py:1180 +#: config.py:1181 msgid "Will overwrite word count from FanFicFare metadata if set to update the same custom column." msgstr "" -#: config.py:1185 +#: config.py:1186 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:1221 +#: config.py:1222 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:1226 +#: config.py:1227 msgid "Keyboard shortcuts..." msgstr "" -#: config.py:1227 +#: config.py:1228 msgid "Edit the keyboard shortcuts associated with this plugin" msgstr "" -#: config.py:1231 +#: config.py:1232 msgid "Reset disabled &confirmation dialogs" msgstr "" -#: config.py:1232 +#: config.py:1233 msgid "Reset all show me again dialogs for the FanFicFare plugin" msgstr "" -#: config.py:1236 +#: config.py:1237 msgid "&View library preferences..." msgstr "" -#: config.py:1237 +#: config.py:1238 msgid "View data stored in the library database for this plugin" msgstr "" -#: config.py:1247 +#: config.py:1248 msgid "Done" msgstr "" -#: config.py:1248 +#: config.py:1249 msgid "Confirmation dialogs have all been reset" msgstr "" -#: config.py:1297 +#: config.py:1298 msgid "Category" msgstr "" -#: config.py:1298 +#: config.py:1299 msgid "Genre" msgstr "" -#: config.py:1299 +#: config.py:1300 msgid "Language" msgstr "" -#: config.py:1300 fff_plugin.py:1523 fff_plugin.py:1743 fff_plugin.py:1766 +#: config.py:1301 fff_plugin.py:1524 fff_plugin.py:1744 fff_plugin.py:1767 msgid "Status" msgstr "" -#: config.py:1301 +#: config.py:1302 msgid "Status:%(cmplt)s" msgstr "" -#: config.py:1302 +#: config.py:1303 msgid "Status:%(inprog)s" msgstr "" -#: config.py:1303 config.py:1487 +#: config.py:1304 config.py:1488 msgid "Series" msgstr "" -#: config.py:1304 +#: config.py:1305 msgid "Characters" msgstr "" -#: config.py:1305 +#: config.py:1306 msgid "Relationships" msgstr "" -#: config.py:1306 +#: config.py:1307 msgid "Published" msgstr "" -#: config.py:1307 fff_plugin.py:1906 fff_plugin.py:1922 +#: config.py:1308 fff_plugin.py:1907 fff_plugin.py:1923 msgid "Updated" msgstr "" -#: config.py:1308 +#: config.py:1309 msgid "Created" msgstr "" -#: config.py:1309 +#: config.py:1310 msgid "Rating" msgstr "" -#: config.py:1310 +#: config.py:1311 msgid "Warnings" msgstr "" -#: config.py:1311 +#: config.py:1312 msgid "Chapters" msgstr "" -#: config.py:1312 +#: config.py:1313 msgid "Words" msgstr "" -#: config.py:1313 +#: config.py:1314 msgid "Site" msgstr "" -#: config.py:1314 config.py:1481 +#: config.py:1315 config.py:1482 msgid "Publisher" msgstr "" -#: config.py:1315 +#: config.py:1316 msgid "Story ID" msgstr "" -#: config.py:1316 +#: config.py:1317 msgid "Author ID" msgstr "" -#: config.py:1317 +#: config.py:1318 msgid "Extra Tags" msgstr "" -#: config.py:1318 config.py:1479 dialogs.py:955 dialogs.py:1051 -#: fff_plugin.py:1523 fff_plugin.py:1743 fff_plugin.py:1766 +#: config.py:1319 config.py:1480 dialogs.py:955 dialogs.py:1051 +#: fff_plugin.py:1524 fff_plugin.py:1744 fff_plugin.py:1767 msgid "Title" msgstr "" -#: config.py:1319 +#: config.py:1320 msgid "Story URL" msgstr "" -#: config.py:1320 +#: config.py:1321 msgid "Description" msgstr "" -#: config.py:1321 dialogs.py:955 dialogs.py:1051 fff_plugin.py:1523 -#: fff_plugin.py:1743 fff_plugin.py:1766 +#: config.py:1322 dialogs.py:955 dialogs.py:1051 fff_plugin.py:1524 +#: fff_plugin.py:1744 fff_plugin.py:1767 msgid "Author" msgstr "" -#: config.py:1322 +#: config.py:1323 msgid "Author URL" msgstr "" -#: config.py:1323 +#: config.py:1324 msgid "File Format" msgstr "" -#: config.py:1324 +#: config.py:1325 msgid "File Extension" msgstr "" -#: config.py:1325 +#: config.py:1326 msgid "Site Abbrev" msgstr "" -#: config.py:1326 +#: config.py:1327 msgid "FanFicFare Version" msgstr "" -#: config.py:1342 +#: config.py:1343 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:1368 +#: config.py:1369 msgid "Update this %s column(%s) with..." msgstr "" -#: config.py:1378 +#: config.py:1379 msgid "Values that aren't valid for this enumeration column will be ignored." msgstr "" -#: config.py:1378 config.py:1380 +#: config.py:1379 config.py:1381 msgid "Metadata values valid for this type of column." msgstr "" -#: config.py:1383 config.py:1508 +#: config.py:1384 config.py:1509 msgid "New Only" msgstr "" -#: config.py:1384 +#: config.py:1385 msgid "" "Write to %s(%s) only for new\n" "books, not updates to existing books." msgstr "" -#: config.py:1395 +#: config.py:1396 msgid "Allow %(ccset)s from %(pini)s to override" msgstr "" -#: config.py:1396 +#: config.py:1397 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:1400 +#: config.py:1401 msgid "Special column:" msgstr "" -#: config.py:1405 +#: config.py:1406 msgid "Update/Overwrite Error Column:" msgstr "" -#: config.py:1406 +#: config.py:1407 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:1419 +#: config.py:1420 msgid "Save All Errors" msgstr "" -#: config.py:1420 +#: config.py:1421 msgid "If unchecked, these errors will not be saved: %s" msgstr "" -#: config.py:1422 fff_plugin.py:1395 jobs.py:243 +#: config.py:1423 fff_plugin.py:1396 jobs.py:243 msgid "Not Overwriting, web site is not newer." msgstr "" -#: config.py:1423 fff_plugin.py:1374 jobs.py:284 +#: config.py:1424 fff_plugin.py:1375 jobs.py:284 msgid "Already contains %d chapters." msgstr "" -#: config.py:1430 +#: config.py:1431 msgid "Saved Metadata Column:" msgstr "" -#: config.py:1431 +#: config.py:1432 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:1449 +#: config.py:1450 msgid "Last Checked Column:" msgstr "" -#: config.py:1450 +#: config.py:1451 msgid "" "Record the last time FanFicFare updated or checked for updates.\n" "(Date columns only.)" msgstr "" -#: config.py:1480 +#: config.py:1481 msgid "Author(s)" msgstr "" -#: config.py:1482 +#: config.py:1483 msgid "Tags" msgstr "" -#: config.py:1483 +#: config.py:1484 msgid "Languages" msgstr "" -#: config.py:1484 +#: config.py:1485 msgid "Published Date" msgstr "" -#: config.py:1485 +#: config.py:1486 msgid "Date" msgstr "" -#: config.py:1486 +#: config.py:1487 msgid "Comments" msgstr "" -#: config.py:1488 +#: config.py:1489 msgid "Ids(url id only)" msgstr "" -#: config.py:1493 +#: config.py:1494 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:1509 +#: config.py:1510 msgid "" "Write to %s only for new\n" "books, not updates to existing books." msgstr "" -#: config.py:1516 +#: config.py:1517 msgid "Force Title into Title Sort?" msgstr "" -#: config.py:1517 +#: config.py:1518 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:1520 +#: config.py:1521 msgid "Fix Title Case?" msgstr "" -#: config.py:1521 +#: config.py:1522 msgid "If checked, Calibre's routine for correcting the capitalization of title will be applied." msgstr "" -#: config.py:1522 config.py:1533 +#: config.py:1523 config.py:1534 msgid "This effects Calibre metadata only, not FanFicFare metadata in title page." msgstr "" -#: config.py:1526 +#: config.py:1527 msgid "Force Author into Author Sort?" msgstr "" -#: config.py:1527 +#: config.py:1528 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:1530 +#: config.py:1531 msgid "Fix Author Case?" msgstr "" -#: config.py:1531 +#: config.py:1532 msgid "If checked, Calibre's routine for correcting the capitalization of author names will be applied." msgstr "" -#: config.py:1532 +#: config.py:1533 msgid "Calibre remembers all authors in the library; changing the author case on one book will effect all books by that author." msgstr "" -#: config.py:1544 -msgid "Other Standard Column Options" +#: config.py:1538 +msgid "Set 'Series [0]' for New Anthologies?" msgstr "" -#: config.py:1549 -msgid "Set Calibre Author URL" +#: config.py:1539 +msgid "If checked, the Series column will be set to 'Series Name [0]' when an Anthology for a series is first created." msgstr "" #: config.py:1550 -msgid "Set Calibre Author URL to Author's URL on story site." -msgstr "" - -#: config.py:1554 -msgid "Include Books' Comments in Anthology Comments?" +msgid "Other Standard Column Options" msgstr "" #: config.py:1555 +msgid "Set Calibre Author URL" +msgstr "" + +#: config.py:1556 +msgid "Set Calibre Author URL to Author's URL on story site." +msgstr "" + +#: config.py:1560 +msgid "Include Books' Comments in Anthology Comments?" +msgstr "" + +#: config.py:1561 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:1560 +#: config.py:1566 msgid "Set Anthology Comments only for new books" msgstr "" -#: config.py:1561 +#: config.py:1567 msgid "" "Comments will only be set for New Anthologies, not updates.\n" "That way comments you set manually are retained." msgstr "" -#: config.py:1578 +#: config.py:1584 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:1583 +#: config.py:1589 msgid "IMAP Server Name" msgstr "" -#: config.py:1584 +#: config.py:1590 msgid "Name of IMAP server--must allow IMAP4 with SSL. Eg: imap.gmail.com" msgstr "" -#: config.py:1593 +#: config.py:1599 msgid "IMAP User Name" msgstr "" -#: config.py:1594 +#: config.py:1600 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:1603 +#: config.py:1609 msgid "IMAP User Password" msgstr "" -#: config.py:1604 +#: config.py:1610 msgid "IMAP password. If left empty, FanFicFare will ask you for your password when you use the feature." msgstr "" -#: config.py:1614 +#: config.py:1620 msgid "Remember Password for Session (when not saved above)" msgstr "" -#: config.py:1615 +#: config.py:1621 msgid "If checked, and no password is entered above, FanFicFare will remember your password until you close calibre or change Libraries." msgstr "" -#: config.py:1620 +#: config.py:1626 msgid "IMAP Folder Name" msgstr "" -#: config.py:1621 +#: config.py:1627 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:1630 +#: config.py:1636 msgid "Mark Emails Read" msgstr "" -#: config.py:1631 +#: config.py:1637 msgid "If checked, emails will be marked as having been read if they contain any story URLs." msgstr "" -#: config.py:1636 +#: config.py:1642 msgid "Discard URLs on Reject List" msgstr "" -#: config.py:1637 +#: config.py:1643 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:1642 +#: config.py:1648 msgid "Update Existing Books Only" msgstr "" -#: config.py:1643 +#: config.py:1649 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:1648 +#: config.py:1654 msgid "Download from Email Immediately" msgstr "" -#: config.py:1649 +#: config.py:1655 msgid "If checked, FanFicFare will start downloading story URLs from emails immediately.
Otherwise the usual Download from URLs dialog will appear." msgstr "" -#: config.py:1654 +#: config.py:1660 msgid "Add these Tag(s) Automatically" msgstr "" -#: config.py:1655 +#: config.py:1661 msgid "Tags entered here will be automatically added to stories downloaded from email story URLs." msgstr "" -#: config.py:1656 +#: config.py:1662 msgid "Any additional stories if you then manually add to the Story URL dialog will also have these tags added." msgstr "" -#: config.py:1667 +#: config.py:1673 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 "" @@ -1251,15 +1259,15 @@ msgstr "" msgid "OK" msgstr "" -#: dialogs.py:621 dialogs.py:645 fff_plugin.py:997 +#: dialogs.py:621 dialogs.py:645 fff_plugin.py:998 msgid "Fetching metadata for stories..." msgstr "" -#: dialogs.py:622 dialogs.py:646 fff_plugin.py:998 +#: dialogs.py:622 dialogs.py:646 fff_plugin.py:999 msgid "Downloading metadata for stories" msgstr "" -#: dialogs.py:623 dialogs.py:647 fff_plugin.py:999 +#: dialogs.py:623 dialogs.py:647 fff_plugin.py:1000 msgid "Fetched metadata for" msgstr "" @@ -1267,11 +1275,11 @@ msgstr "" msgid " - %s estimated until done" msgstr "" -#: dialogs.py:701 fff_plugin.py:1215 fff_plugin.py:2433 jobs.py:115 +#: dialogs.py:701 fff_plugin.py:1216 fff_plugin.py:2436 jobs.py:115 msgid "Skipped" msgstr "" -#: dialogs.py:709 fff_plugin.py:1969 jobs.py:117 jobs.py:342 jobs.py:345 +#: dialogs.py:709 fff_plugin.py:1970 jobs.py:117 jobs.py:346 jobs.py:349 msgid "Error" msgstr "" @@ -1335,7 +1343,7 @@ msgstr "" 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:955 fff_plugin.py:1523 fff_plugin.py:1743 fff_plugin.py:1766 +#: dialogs.py:955 fff_plugin.py:1524 fff_plugin.py:1744 fff_plugin.py:1767 msgid "Comment" msgstr "" @@ -1455,7 +1463,7 @@ msgstr "" msgid "Get Story URLs from &Email" msgstr "" -#: fff_plugin.py:316 fff_plugin.py:555 +#: fff_plugin.py:316 fff_plugin.py:556 msgid "Get Story URLs from Web Page" msgstr "" @@ -1539,527 +1547,527 @@ msgstr "" msgid "Fetching Story URLs from Email..." msgstr "" -#: fff_plugin.py:511 fff_plugin.py:536 +#: fff_plugin.py:511 fff_plugin.py:537 msgid "No Valid Story URLs Found in Unread Emails." msgstr "" -#: fff_plugin.py:527 +#: fff_plugin.py:528 msgid "Finished Fetching Story URLs from Email." msgstr "" -#: fff_plugin.py:532 +#: fff_plugin.py:533 msgid "Tag(s) %s will be added to all stories downloaded in the next dialog, including any story URLs you add manually." msgstr "" -#: fff_plugin.py:538 +#: fff_plugin.py:539 msgid "(%d Story URLs Skipped, on Rejected URL List)" msgstr "" -#: fff_plugin.py:540 +#: fff_plugin.py:541 msgid "(%d Story URLs Skipped, no Existing Book in Library)" msgstr "" -#: fff_plugin.py:541 +#: fff_plugin.py:542 msgid "Get Story URLs from Email" msgstr "" -#: fff_plugin.py:564 +#: fff_plugin.py:565 msgid "Fetching Story URLs from Page..." msgstr "" -#: fff_plugin.py:568 +#: fff_plugin.py:569 msgid "Finished Fetching Story URLs from Page." msgstr "" -#: fff_plugin.py:573 fff_plugin.py:625 +#: fff_plugin.py:574 fff_plugin.py:626 msgid "List of Story URLs" msgstr "" -#: fff_plugin.py:574 +#: fff_plugin.py:575 msgid "No Valid Story URLs found on given page." msgstr "" -#: fff_plugin.py:590 fff_plugin.py:642 +#: fff_plugin.py:591 fff_plugin.py:643 msgid "No Selected Books to Get URLs From" msgstr "" -#: fff_plugin.py:606 +#: fff_plugin.py:607 msgid "Collecting URLs for stories..." msgstr "" -#: fff_plugin.py:607 +#: fff_plugin.py:608 msgid "Get URLs for stories" msgstr "" -#: fff_plugin.py:608 fff_plugin.py:728 fff_plugin.py:920 +#: fff_plugin.py:609 fff_plugin.py:729 fff_plugin.py:921 msgid "URL retrieved" msgstr "" -#: fff_plugin.py:618 jobs.py:116 jobs.py:335 +#: fff_plugin.py:619 jobs.py:116 jobs.py:339 msgid "Bad" msgstr "" -#: fff_plugin.py:629 +#: fff_plugin.py:630 msgid "List of URLs" msgstr "" -#: fff_plugin.py:630 +#: fff_plugin.py:631 msgid "No Story URLs found in selected books." msgstr "" -#: fff_plugin.py:637 +#: fff_plugin.py:638 msgid "Can only UnNew books in library" msgstr "" -#: fff_plugin.py:654 +#: fff_plugin.py:655 msgid "UnNewing books..." msgstr "" -#: fff_plugin.py:655 +#: fff_plugin.py:656 msgid "UnNew Books" msgstr "" -#: fff_plugin.py:656 +#: fff_plugin.py:657 msgid "Books UnNewed" msgstr "" -#: fff_plugin.py:702 fff_plugin.py:703 fff_plugin.py:1697 fff_plugin.py:1698 +#: fff_plugin.py:703 fff_plugin.py:704 fff_plugin.py:1698 fff_plugin.py:1699 msgid "Starting auto conversion of %d books." msgstr "" -#: fff_plugin.py:718 +#: fff_plugin.py:719 msgid "No Selected Books have URLs to Reject" msgstr "" -#: fff_plugin.py:726 +#: fff_plugin.py:727 msgid "Collecting URLs for Reject List..." msgstr "" -#: fff_plugin.py:727 +#: fff_plugin.py:728 msgid "Get URLs for Reject List" msgstr "" -#: fff_plugin.py:762 +#: fff_plugin.py:763 msgid "Proceed to Remove?" msgstr "" -#: fff_plugin.py:762 +#: fff_plugin.py:763 msgid "Rejecting FanFicFare URLs: None of the books selected have FanFiction URLs." msgstr "" -#: fff_plugin.py:784 +#: fff_plugin.py:785 msgid "Cannot Make Anthologys without %s" msgstr "" -#: fff_plugin.py:788 fff_plugin.py:897 +#: fff_plugin.py:789 fff_plugin.py:898 msgid "Cannot Update Books from Device View" msgstr "" -#: fff_plugin.py:792 +#: fff_plugin.py:793 msgid "Can only update 1 anthology at a time" msgstr "" -#: fff_plugin.py:801 +#: fff_plugin.py:802 msgid "Can only Update Epub Anthologies" msgstr "" -#: fff_plugin.py:819 fff_plugin.py:820 +#: fff_plugin.py:820 fff_plugin.py:821 msgid "Cannot Update Anthology" msgstr "" -#: fff_plugin.py:820 +#: fff_plugin.py:821 msgid "Book isn't an FanFicFare Anthology or contains book(s) without valid Story URLs." msgstr "" -#: fff_plugin.py:827 +#: fff_plugin.py:828 msgid "Fetching Story URLs for Series..." msgstr "" -#: fff_plugin.py:837 +#: fff_plugin.py:838 msgid "Finished Fetching Story URLs for Series." msgstr "" -#: fff_plugin.py:883 +#: fff_plugin.py:884 msgid "There are %d stories in the current anthology that are not going to be kept if you go ahead." msgstr "" -#: fff_plugin.py:884 +#: fff_plugin.py:885 msgid "Story URLs that will be removed:" msgstr "" -#: fff_plugin.py:886 +#: fff_plugin.py:887 msgid "Update anyway?" msgstr "" -#: fff_plugin.py:887 +#: fff_plugin.py:888 msgid "Stories Removed" msgstr "" -#: fff_plugin.py:904 +#: fff_plugin.py:905 msgid "No Selected Books to Update" msgstr "" -#: fff_plugin.py:918 +#: fff_plugin.py:919 msgid "Collecting stories for update..." msgstr "" -#: fff_plugin.py:919 +#: fff_plugin.py:920 msgid "Get stories for updates" msgstr "" -#: fff_plugin.py:929 +#: fff_plugin.py:930 msgid "Update Existing List" msgstr "" -#: fff_plugin.py:991 +#: fff_plugin.py:992 msgid "Start queuing downloading for %s stories." msgstr "" -#: fff_plugin.py:992 +#: fff_plugin.py:993 msgid "Queuing download for stories..." msgstr "" -#: fff_plugin.py:993 +#: fff_plugin.py:994 msgid "Queuing download for stories" msgstr "" -#: fff_plugin.py:994 +#: fff_plugin.py:995 msgid "Queued download for" msgstr "" -#: fff_plugin.py:996 +#: fff_plugin.py:997 msgid "Started fetching metadata for %s stories." msgstr "" -#: fff_plugin.py:1010 +#: fff_plugin.py:1011 msgid "No valid story URLs entered." msgstr "" -#: fff_plugin.py:1020 fff_plugin.py:1026 +#: fff_plugin.py:1021 fff_plugin.py:1027 msgid "Reject URL?" msgstr "" -#: fff_plugin.py:1027 fff_plugin.py:1045 +#: fff_plugin.py:1028 fff_plugin.py:1046 msgid "%s is on your Reject URL list:" msgstr "" -#: fff_plugin.py:1029 +#: fff_plugin.py:1030 msgid "Click 'Yes' to Reject." msgstr "" -#: fff_plugin.py:1030 fff_plugin.py:1207 +#: fff_plugin.py:1031 fff_plugin.py:1208 msgid "Click 'No' to download anyway." msgstr "" -#: fff_plugin.py:1032 +#: fff_plugin.py:1033 msgid "Story on Reject URLs list (%s)." msgstr "" -#: fff_plugin.py:1035 jobs.py:114 +#: fff_plugin.py:1036 jobs.py:114 msgid "Rejected" msgstr "" -#: fff_plugin.py:1038 +#: fff_plugin.py:1039 msgid "Remove Reject URL?" msgstr "" -#: fff_plugin.py:1044 +#: fff_plugin.py:1045 msgid "Remove URL from Reject List?" msgstr "" -#: fff_plugin.py:1047 +#: fff_plugin.py:1048 msgid "Click 'Yes' to remove it from the list," msgstr "" -#: fff_plugin.py:1048 +#: fff_plugin.py:1049 msgid "Click 'No' to leave it on the list." msgstr "" -#: fff_plugin.py:1069 +#: fff_plugin.py:1070 msgid "Are You an Adult?" msgstr "" -#: fff_plugin.py:1070 +#: fff_plugin.py:1071 msgid "%s requires that you be an adult. Please confirm you are an adult in your locale:" msgstr "" -#: fff_plugin.py:1115 +#: fff_plugin.py:1116 msgid "Cannot update non-epub format." msgstr "" -#: fff_plugin.py:1198 +#: fff_plugin.py:1199 msgid "Skip Story?" msgstr "" -#: fff_plugin.py:1204 +#: fff_plugin.py:1205 msgid "Skip Anthology Story?" msgstr "" -#: fff_plugin.py:1205 +#: fff_plugin.py:1206 msgid "\"%s\" is in series \"%s\" that you have an anthology book for." msgstr "" -#: fff_plugin.py:1206 +#: fff_plugin.py:1207 msgid "Click 'Yes' to Skip." msgstr "" -#: fff_plugin.py:1209 +#: fff_plugin.py:1210 msgid "Story in Series Anthology(%s)." msgstr "" -#: fff_plugin.py:1225 jobs.py:110 +#: fff_plugin.py:1226 jobs.py:110 msgid "Add" msgstr "" -#: fff_plugin.py:1258 jobs.py:112 +#: fff_plugin.py:1259 jobs.py:112 msgid "Meta" msgstr "" -#: fff_plugin.py:1287 +#: fff_plugin.py:1288 msgid "Skipping duplicate story." msgstr "" -#: fff_plugin.py:1290 +#: fff_plugin.py:1291 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:1301 jobs.py:111 +#: fff_plugin.py:1302 jobs.py:111 msgid "Update" msgstr "" -#: fff_plugin.py:1311 +#: fff_plugin.py:1312 msgid "Update declined due to differing story URL(%s)(%s tag present)" msgstr "" -#: fff_plugin.py:1314 fff_plugin.py:1351 jobs.py:113 +#: fff_plugin.py:1315 fff_plugin.py:1352 jobs.py:113 msgid "Different URL" msgstr "" -#: fff_plugin.py:1316 fff_plugin.py:1323 +#: fff_plugin.py:1317 fff_plugin.py:1324 msgid "Change Story URL?" msgstr "" -#: fff_plugin.py:1324 +#: fff_plugin.py:1325 msgid "%s by %s is already in your library with a different source URL:" msgstr "" -#: fff_plugin.py:1325 +#: fff_plugin.py:1326 msgid "In library: %(liburl)s" msgstr "" -#: fff_plugin.py:1326 fff_plugin.py:1340 +#: fff_plugin.py:1327 fff_plugin.py:1341 msgid "New URL: %(newurl)s" msgstr "" -#: fff_plugin.py:1327 +#: fff_plugin.py:1328 msgid "Click 'Yes' to update/overwrite book with new URL." msgstr "" -#: fff_plugin.py:1328 +#: fff_plugin.py:1329 msgid "Click 'No' to skip updating/overwriting this book." msgstr "" -#: fff_plugin.py:1330 fff_plugin.py:1337 +#: fff_plugin.py:1331 fff_plugin.py:1338 msgid "Download as New Book?" msgstr "" -#: fff_plugin.py:1338 +#: fff_plugin.py:1339 msgid "%s by %s is already in your library with a different source URL." msgstr "" -#: fff_plugin.py:1339 +#: fff_plugin.py:1340 msgid "You chose not to update the existing book. Do you want to add a new book for this URL?" msgstr "" -#: fff_plugin.py:1341 +#: fff_plugin.py:1342 msgid "Click 'Yes' to a new book with new URL." msgstr "" -#: fff_plugin.py:1342 +#: fff_plugin.py:1343 msgid "Click 'No' to skip URL." msgstr "" -#: fff_plugin.py:1348 +#: fff_plugin.py:1349 msgid "Update declined by user due to differing story URL(%s)" msgstr "" -#: fff_plugin.py:1356 +#: fff_plugin.py:1357 msgid "Metadata collected." msgstr "" -#: fff_plugin.py:1376 jobs.py:286 +#: fff_plugin.py:1377 jobs.py:286 msgid "Existing epub contains %d chapters, web site only has %d. Use Overwrite to force update." msgstr "" -#: fff_plugin.py:1378 jobs.py:288 +#: fff_plugin.py:1379 jobs.py:288 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:1519 +#: fff_plugin.py:1520 msgid "None of the %d URLs/stories given can be/need to be downloaded." msgstr "" -#: fff_plugin.py:1520 fff_plugin.py:1739 fff_plugin.py:1762 +#: fff_plugin.py:1521 fff_plugin.py:1740 fff_plugin.py:1763 msgid "See log for details." msgstr "" -#: fff_plugin.py:1521 +#: fff_plugin.py:1522 msgid "Proceed with updating your library(Error or Last Checked Columns, if configured)?" msgstr "" -#: fff_plugin.py:1535 fff_plugin.py:1541 +#: fff_plugin.py:1536 fff_plugin.py:1542 msgid "FanFicFare download ended" msgstr "" -#: fff_plugin.py:1535 fff_plugin.py:1541 fff_plugin.py:1781 fff_plugin.py:1787 +#: fff_plugin.py:1536 fff_plugin.py:1542 fff_plugin.py:1782 fff_plugin.py:1788 msgid "FanFicFare log" msgstr "" -#: fff_plugin.py:1562 +#: fff_plugin.py:1563 msgid "Download %s FanFiction Book(s)" msgstr "" -#: fff_plugin.py:1569 +#: fff_plugin.py:1570 msgid "Starting %d FanFicFare Downloads" msgstr "" -#: fff_plugin.py:1607 +#: fff_plugin.py:1608 msgid "Story Details:" msgstr "" -#: fff_plugin.py:1610 +#: fff_plugin.py:1611 msgid "Error Updating Metadata" msgstr "" -#: fff_plugin.py:1611 +#: fff_plugin.py:1612 msgid "An error has occurred while FanFicFare was updating calibre's metadata for %s." msgstr "" -#: fff_plugin.py:1612 +#: fff_plugin.py:1613 msgid "The ebook has been updated, but the metadata has not." msgstr "" -#: fff_plugin.py:1666 fff_plugin.py:1667 +#: fff_plugin.py:1667 fff_plugin.py:1668 msgid "Finished Adding/Updating %d books." msgstr "" -#: fff_plugin.py:1723 +#: fff_plugin.py:1724 msgid "No Good Stories for Anthology" msgstr "" -#: fff_plugin.py:1724 +#: fff_plugin.py:1725 msgid "No good stories/updates where downloaded, Anthology creation/update aborted." msgstr "" -#: fff_plugin.py:1729 fff_plugin.py:1761 +#: fff_plugin.py:1730 fff_plugin.py:1762 msgid "FanFicFare found %s good and %s bad updates." msgstr "" -#: fff_plugin.py:1736 +#: fff_plugin.py:1737 msgid "Are you sure you want to continue with creating/updating this Anthology?" msgstr "" -#: fff_plugin.py:1737 +#: fff_plugin.py:1738 msgid "Any updates that failed will not be included in the Anthology." msgstr "" -#: fff_plugin.py:1738 +#: fff_plugin.py:1739 msgid "However, if there's an older version, it will still be included." msgstr "" -#: fff_plugin.py:1741 +#: fff_plugin.py:1742 msgid "Proceed with updating this anthology and your library?" msgstr "" -#: fff_plugin.py:1763 +#: fff_plugin.py:1764 msgid "Proceed with updating your library?" msgstr "" -#: fff_plugin.py:1781 fff_plugin.py:1787 +#: fff_plugin.py:1782 fff_plugin.py:1788 msgid "FanFicFare download complete" msgstr "" -#: fff_plugin.py:1801 +#: fff_plugin.py:1802 msgid "Merging %s books." msgstr "" -#: fff_plugin.py:1890 +#: fff_plugin.py:1891 msgid "FanFicFare Adding/Updating books." msgstr "" -#: fff_plugin.py:1904 +#: fff_plugin.py:1905 msgid "Updating calibre for FanFiction stories..." msgstr "" -#: fff_plugin.py:1905 +#: fff_plugin.py:1906 msgid "Update calibre for FanFiction stories" msgstr "" -#: fff_plugin.py:1915 +#: fff_plugin.py:1916 msgid "Adding/Updating %s BAD books." msgstr "" -#: fff_plugin.py:1920 +#: fff_plugin.py:1921 msgid "Updating calibre for BAD FanFiction stories..." msgstr "" -#: fff_plugin.py:1921 +#: fff_plugin.py:1922 msgid "Update calibre for BAD FanFiction stories" msgstr "" -#: fff_plugin.py:1966 +#: fff_plugin.py:1967 msgid "Adding format to book failed for some reason..." msgstr "" -#: fff_plugin.py:2330 +#: fff_plugin.py:2333 msgid "You configured FanFicFare to automatically update Reading Lists, but you don't have the %s plugin installed anymore?" msgstr "" -#: fff_plugin.py:2342 +#: fff_plugin.py:2345 msgid "You configured FanFicFare to automatically update \"To Read\" Reading Lists, but you don't have any lists set?" msgstr "" -#: fff_plugin.py:2352 fff_plugin.py:2370 +#: fff_plugin.py:2355 fff_plugin.py:2373 msgid "You configured FanFicFare to automatically update Reading List '%s', but you don't have a list of that name?" msgstr "" -#: fff_plugin.py:2358 +#: fff_plugin.py:2361 msgid "You configured FanFicFare to automatically update \"Send to Device\" Reading Lists, but you don't have any lists set?" msgstr "" -#: fff_plugin.py:2432 +#: fff_plugin.py:2435 msgid "Same story already included." msgstr "" -#: fff_plugin.py:2490 +#: fff_plugin.py:2493 msgid "No story URL found." msgstr "" -#: fff_plugin.py:2493 +#: fff_plugin.py:2496 msgid "Not Found" msgstr "" -#: fff_plugin.py:2499 +#: fff_plugin.py:2502 msgid "URL is not a valid story URL." msgstr "" -#: fff_plugin.py:2502 +#: fff_plugin.py:2505 msgid "Bad URL" msgstr "" -#: fff_plugin.py:2656 +#: fff_plugin.py:2659 msgid "Anthology containing:" msgstr "" -#: fff_plugin.py:2658 +#: fff_plugin.py:2661 msgid "%s by %s" msgstr "" -#: fff_plugin.py:2700 +#: fff_plugin.py:2705 msgid " Anthology" msgstr "" -#: fff_plugin.py:2737 +#: fff_plugin.py:2742 msgid "(was set, removed for security)" msgstr "" @@ -2091,55 +2099,55 @@ msgstr "" msgid "Update %s completed, added %s chapters for %s total." msgstr "" -#: prefs.py:21 +#: prefs.py:27 msgid "Skip" msgstr "" -#: prefs.py:22 +#: prefs.py:28 msgid "Add New Book" msgstr "" -#: prefs.py:23 +#: prefs.py:29 msgid "Update EPUB if New Chapters" msgstr "" -#: prefs.py:24 +#: prefs.py:30 msgid "Update EPUB Always" msgstr "" -#: prefs.py:25 +#: prefs.py:31 msgid "Overwrite if Newer" msgstr "" -#: prefs.py:26 +#: prefs.py:32 msgid "Overwrite Always" msgstr "" -#: prefs.py:27 +#: prefs.py:33 msgid "Update Calibre Metadata from Web Site" msgstr "" -#: prefs.py:28 +#: prefs.py:34 msgid "Update Calibre Metadata from Saved Metadata Column" msgstr "" -#: prefs.py:74 +#: prefs.py:80 msgid "Yes, Always" msgstr "" -#: prefs.py:76 +#: prefs.py:82 msgid "Yes, if EPUB has a cover image" msgstr "" -#: prefs.py:78 +#: prefs.py:84 msgid "Yes, unless FanFicFare found a cover image" msgstr "" -#: prefs.py:80 +#: prefs.py:86 msgid "Yes, unless found on site" msgstr "" -#: prefs.py:82 +#: prefs.py:88 msgid "No" msgstr ""