diff --git a/recipes/babyonline.recipe b/recipes/babyonline.recipe new file mode 100644 index 0000000000..0b892ed673 --- /dev/null +++ b/recipes/babyonline.recipe @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = u'2011, Silviu Cotoar\u0103' +''' +babyonline.ro +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class BabyOnline(BasicNewsRecipe): + title = u'Baby Online' + __author__ = u'Silviu Cotoar\u0103' + description = u'De la p\u0103rinte la p\u0103rinte' + publisher = u'Baby Online' + oldest_article = 50 + language = 'ro' + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + category = 'Ziare,Reviste,Copii,Mame' + encoding = 'utf-8' + cover_url = 'http://www.babyonline.ro/images/default/logo.gif' + + conversion_options = { + 'comments' : description + ,'tags' : category + ,'language' : language + ,'publisher' : publisher + } + + keep_only_tags = [ + dict(name='div', attrs={'id':'article_container'}) + ] + + remove_tags = [ + dict(name='div', attrs={'id':'bar_nav'}), + dict(name='div', attrs={'id':'service_send'}), + dict(name='div', attrs={'id':'other_videos'}), + dict(name='div', attrs={'class':'dot_line_yellow'}), + dict(name='a', attrs={'class':'print'}), + dict(name='a', attrs={'class':'email'}), + dict(name='a', attrs={'class':'YM'}), + dict(name='a', attrs={'class':'comment'}), + dict(name='div', attrs={'class':'tombstone_cross'}), + dict(name='span', attrs={'class':'liketext'}) + ] + + remove_tags_after = [ + dict(name='div', attrs={'id':'service_send'}) + ] + + feeds = [ + (u'Feeds', u'http://www.babyonline.ro/rss_homepage.xml') + ] + + def preprocess_html(self, soup): + return self.adeify_images(soup) diff --git a/recipes/daily_telegraph.recipe b/recipes/daily_telegraph.recipe index 5e1a2f7bfb..5ee48f3f79 100644 --- a/recipes/daily_telegraph.recipe +++ b/recipes/daily_telegraph.recipe @@ -61,6 +61,12 @@ class DailyTelegraph(BasicNewsRecipe): (u'Entertainment News', u'http://feeds.news.com.au/public/rss/2.0/dtele_entertainment_news_201.xml'), (u'Lifestyle News', u'http://feeds.news.com.au/public/rss/2.0/dtele_lifestyle_227.xml'), (u'Music', u'http://feeds.news.com.au/public/rss/2.0/dtele_music_441.xml'), + (u'Sport', + u'http://feeds.news.com.au/public/rss/2.0/dtele_sport_203.xml'), + (u'Soccer', + u'http://feeds.news.com.au/public/rss/2.0/dtele_sports_soccer_344.xml'), + (u'Rugby Union', + u'http://feeds.news.com.au/public/rss/2.0/dtele_sports_rugby_union_342.xml'), (u'Property Confidential', u'http://feeds.news.com.au/public/rss/2.0/dtele_property_confidential_463.xml'), (u'Property - Your Space', u'http://feeds.news.com.au/public/rss/2.0/dtele_property_yourspace_462.xml'), (u'Confidential News', u'http://feeds.news.com.au/public/rss/2.0/dtele_entertainment_confidential_252.xml'), diff --git a/recipes/ecuisine.recipe b/recipes/ecuisine.recipe index 53631e0b14..77d761e653 100644 --- a/recipes/ecuisine.recipe +++ b/recipes/ecuisine.recipe @@ -14,14 +14,14 @@ class EcuisineRo(BasicNewsRecipe): __author__ = u'Silviu Cotoar\u0103' description = u'Reinventeaz\u0103 pl\u0103cerea de a g\u0103ti' publisher = 'eCuisine' - oldest_article = 5 + oldest_article = 50 language = 'ro' max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False category = 'Ziare,Retete,Bucatarie' encoding = 'utf-8' - cover_url = '' + cover_url = 'http://www.ecuisine.ro/sites/all/themes/ecuisine/images/logo.gif' conversion_options = { 'comments' : description @@ -31,8 +31,8 @@ class EcuisineRo(BasicNewsRecipe): } keep_only_tags = [ - dict(name='div', attrs={'class':'page-title'}) - , dict(name='div', attrs={'class':'content clearfix'}) + dict(name='h1', attrs={'id':'page-title'}) + , dict(name='div', attrs={'class':'field-item even'}) ] remove_tags = [ diff --git a/recipes/egirl.recipe b/recipes/egirl.recipe index b456323db9..56d515669d 100644 --- a/recipes/egirl.recipe +++ b/recipes/egirl.recipe @@ -31,8 +31,8 @@ class EgirlRo(BasicNewsRecipe): } keep_only_tags = [ - dict(name='div', attrs={'id':'title_art'}) - , dict(name='div', attrs={'class':'content_style'}) + dict(name='div', attrs={'id':'content_art'}) + , dict(name='div', attrs={'class':'content_articol'}) ] feeds = [ diff --git a/recipes/icons/babyonline.png b/recipes/icons/babyonline.png new file mode 100644 index 0000000000..030c611d88 Binary files /dev/null and b/recipes/icons/babyonline.png differ diff --git a/recipes/tabu.recipe b/recipes/tabu.recipe index f98ed8a155..941c491c79 100644 --- a/recipes/tabu.recipe +++ b/recipes/tabu.recipe @@ -37,10 +37,12 @@ class TabuRo(BasicNewsRecipe): ] remove_tags = [ - dict(name='div', attrs={'class':'asemanatoare'}) + dict(name='div', attrs={'class':'asemanatoare'}), + dict(name='div', attrs={'class':'social'}) ] remove_tags_after = [ + dict(name='div', attrs={'class':'social'}), dict(name='div', attrs={'id':'comments'}), dict(name='div', attrs={'class':'asemanatoare'}) ] diff --git a/resources/images/drm-locked.png b/resources/images/drm-locked.png new file mode 100644 index 0000000000..84c7a5e7b1 Binary files /dev/null and b/resources/images/drm-locked.png differ diff --git a/resources/images/drm-unlocked.png b/resources/images/drm-unlocked.png new file mode 100644 index 0000000000..f7f20a68f0 Binary files /dev/null and b/resources/images/drm-unlocked.png differ diff --git a/resources/images/id_card.png b/resources/images/id_card.png deleted file mode 100644 index 80ac5fda11..0000000000 Binary files a/resources/images/id_card.png and /dev/null differ diff --git a/resources/images/identifiers.png b/resources/images/identifiers.png new file mode 100644 index 0000000000..17906dd2d2 Binary files /dev/null and b/resources/images/identifiers.png differ diff --git a/setup.py b/setup.py index d8bd0267ee..1424d83137 100644 --- a/setup.py +++ b/setup.py @@ -15,9 +15,9 @@ from setup import prints, get_warnings def check_version_info(): vi = sys.version_info - if vi[0] == 2 and vi[1] > 5: + if vi[0] == 2 and vi[1] > 6: return None - return 'calibre requires python >= 2.6' + return 'calibre requires python >= 2.7 and < 3' def option_parser(): parser = optparse.OptionParser() diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 28dbcc4299..86dd1ada3b 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -45,6 +45,7 @@ fcntl = None if iswindows else importlib.import_module('fcntl') filesystem_encoding = sys.getfilesystemencoding() if filesystem_encoding is None: filesystem_encoding = 'utf-8' + DEBUG = False def debug(): diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py index c58f36524e..d3ecab7f16 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py @@ -22,6 +22,11 @@ from calibre.utils.config import make_config_dir, Config, ConfigProxy, \ from calibre.ebooks.epub.fix import ePubFixer from calibre.ebooks.metadata.sources.base import Source +builtin_names = frozenset([p.name for p in builtin_plugins]) + +class NameConflict(ValueError): + pass + def _config(): c = Config('customize') c.add_opt('plugins', default={}, help=_('Installed plugins')) @@ -355,6 +360,9 @@ def set_file_type_metadata(stream, mi, ftype): def add_plugin(path_to_zip_file): make_config_dir() plugin = load_plugin(path_to_zip_file) + if plugin.name in builtin_names: + raise NameConflict( + 'A builtin plugin with the name %r already exists' % plugin.name) plugin = initialize_plugin(plugin, path_to_zip_file) plugins = config['plugins'] zfp = os.path.join(plugin_dir, plugin.name+'.zip') @@ -506,7 +514,11 @@ def initialize_plugin(plugin, path_to_zip_file): def initialize_plugins(): global _initialized_plugins _initialized_plugins = [] - for zfp in list(config['plugins'].values()) + builtin_plugins: + conflicts = [name for name in config['plugins'] if name in + builtin_names] + for p in conflicts: + remove_plugin(p) + for zfp in list(config['plugins'].itervalues()) + builtin_plugins: try: try: plugin = load_plugin(zfp) if not isinstance(zfp, type) else zfp diff --git a/src/calibre/devices/kindle/apnx.py b/src/calibre/devices/kindle/apnx.py index 178c1091f3..ee519750e0 100644 --- a/src/calibre/devices/kindle/apnx.py +++ b/src/calibre/devices/kindle/apnx.py @@ -164,7 +164,7 @@ class APNXBuilder(object): if c == '/': closing = True continue - elif c == 'p': + elif c in ('d', 'p'): if closing: in_p = False else: diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py index a56abb907e..d5b214884e 100644 --- a/src/calibre/ebooks/__init__.py +++ b/src/calibre/ebooks/__init__.py @@ -7,7 +7,7 @@ Code for the conversion of ebook formats and the reading of metadata from various formats. ''' -import traceback, os +import traceback, os, re from calibre import CurrentDir class ConversionError(Exception): @@ -169,3 +169,42 @@ def calibre_cover(title, author_string, series_string=None, lines.append(TextLine(series_string, author_size)) return create_cover_page(lines, I('library.png'), output_format='jpg') +UNIT_RE = re.compile(r'^(-*[0-9]*[.]?[0-9]*)\s*(%|em|ex|en|px|mm|cm|in|pt|pc)$') + +def unit_convert(value, base, font, dpi): + ' Return value in pts' + if isinstance(value, (int, long, float)): + return value + try: + return float(value) * 72.0 / dpi + except: + pass + result = value + m = UNIT_RE.match(value) + if m is not None and m.group(1): + value = float(m.group(1)) + unit = m.group(2) + if unit == '%': + result = (value / 100.0) * base + elif unit == 'px': + result = value * 72.0 / dpi + elif unit == 'in': + result = value * 72.0 + elif unit == 'pt': + result = value + elif unit == 'em': + result = value * font + elif unit in ('ex', 'en'): + # This is a hack for ex since we have no way to know + # the x-height of the font + font = font + result = value * font * 0.5 + elif unit == 'pc': + result = value * 12.0 + elif unit == 'mm': + result = value * 0.04 + elif unit == 'cm': + result = value * 0.40 + return result + + diff --git a/src/calibre/ebooks/metadata/sources/base.py b/src/calibre/ebooks/metadata/sources/base.py index 86a9fe1133..eb0277bd3f 100644 --- a/src/calibre/ebooks/metadata/sources/base.py +++ b/src/calibre/ebooks/metadata/sources/base.py @@ -25,6 +25,7 @@ msprefs.defaults['max_tags'] = 20 msprefs.defaults['wait_after_first_identify_result'] = 30 # seconds msprefs.defaults['wait_after_first_cover_result'] = 60 # seconds msprefs.defaults['swap_author_names'] = False +msprefs.defaults['fewer_tags'] = True # Google covers are often poor quality (scans/errors) but they have high # resolution, so they trump covers from better sources. So make sure they diff --git a/src/calibre/ebooks/metadata/sources/identify.py b/src/calibre/ebooks/metadata/sources/identify.py index 4d21a0c210..b427f19952 100644 --- a/src/calibre/ebooks/metadata/sources/identify.py +++ b/src/calibre/ebooks/metadata/sources/identify.py @@ -216,7 +216,7 @@ class ISBNMerge(object): # We assume the smallest set of tags has the least cruft in it ans.tags = self.length_merge('tags', results, - null_value=ans.tags) + null_value=ans.tags, shortest=msprefs['fewer_tags']) # We assume the longest series has the most info in it ans.series = self.length_merge('series', results, diff --git a/src/calibre/ebooks/metadata/sources/overdrive.py b/src/calibre/ebooks/metadata/sources/overdrive.py index cce35d5b74..37e484598e 100755 --- a/src/calibre/ebooks/metadata/sources/overdrive.py +++ b/src/calibre/ebooks/metadata/sources/overdrive.py @@ -40,24 +40,17 @@ class OverDrive(Source): supports_gzip_transfer_encoding = False cached_cover_url_is_reliable = True - def __init__(self, *args, **kwargs): - Source.__init__(self, *args, **kwargs) - options = ( - Option('get_full_metadata', 'bool', None, _('Gather all Metadata:'), + Option('get_full_metadata', 'bool', False, + _('Download all metadata (slow)'), _('Enable this option to gather all metadata available from Overdrive.')), ) config_help_message = '
'+_('Additional metadata can be taken from Overdrive\'s book detail' - ' page. This includes a limited set of tags used by libraries, comments, language,' + ' page. This includes a limited set of tags used by libraries, comments, language,' ' and the ebook ISBN. Collecting this data is disabled by default due to the extra' - ' time required.') - - def __init__(self, *args, **kwargs): - Source.__init__(self, *args, **kwargs) - - prefs = self.prefs - prefs.defaults['get_full_metadata'] = False + ' time required. Check the download all metadata option below to' + ' enable downloading this data.') def identify(self, log, result_queue, abort, title=None, authors=None, # {{{ identifiers={}, timeout=30): diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index a65649dfd2..d9c6853795 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -20,7 +20,7 @@ from calibre.utils.filenames import ascii_filename from calibre.utils.date import parse_date from calibre.utils.cleantext import clean_ascii_chars from calibre.ptempfile import TemporaryDirectory -from calibre.ebooks import DRMError +from calibre.ebooks import DRMError, unit_convert from calibre.ebooks.chardet import ENCODING_PATS from calibre.ebooks.mobi import MobiError from calibre.ebooks.mobi.huffcdic import HuffReader @@ -258,6 +258,8 @@ class MobiReader(object): } ''') self.tag_css_rules = {} + self.left_margins = {} + self.text_indents = {} if hasattr(filename_or_stream, 'read'): stream = filename_or_stream @@ -567,9 +569,21 @@ class MobiReader(object): elif tag.tag == 'img': tag.set('width', width) else: - styles.append('text-indent: %s' % self.ensure_unit(width)) + ewidth = self.ensure_unit(width) + styles.append('text-indent: %s' % ewidth) + try: + ewidth_val = unit_convert(ewidth, 12, 500, 166) + self.text_indents[tag] = ewidth_val + except: + pass if width.startswith('-'): styles.append('margin-left: %s' % self.ensure_unit(width[1:])) + try: + ewidth_val = unit_convert(ewidth[1:], 12, 500, 166) + self.left_margins[tag] = ewidth_val + except: + pass + if attrib.has_key('align'): align = attrib.pop('align').strip() if align: @@ -661,6 +675,26 @@ class MobiReader(object): if hasattr(parent, 'remove'): parent.remove(tag) + def get_left_whitespace(self, tag): + + def whitespace(tag): + lm = ti = 0.0 + if tag.tag == 'p': + ti = unit_convert('1.5em', 12, 500, 166) + if tag.tag == 'blockquote': + lm = unit_convert('2em', 12, 500, 166) + lm = self.left_margins.get(tag, lm) + ti = self.text_indents.get(tag, ti) + return lm + ti + + parent = tag + ans = 0.0 + while parent is not None: + ans += whitespace(parent) + parent = parent.getparent() + + return ans + def create_opf(self, htmlfile, guide=None, root=None): mi = getattr(self.book_header.exth, 'mi', self.embedded_mi) if mi is None: @@ -731,16 +765,45 @@ class MobiReader(object): except: text = '' text = ent_pat.sub(entity_to_unicode, text) - tocobj.add_item(toc.partition('#')[0], href[1:], + item = tocobj.add_item(toc.partition('#')[0], href[1:], text) + item.left_space = int(self.get_left_whitespace(x)) found = True if reached and found and x.get('class', None) == 'mbp_pagebreak': break if tocobj is not None: + tocobj = self.structure_toc(tocobj) opf.set_toc(tocobj) return opf, ncx_manifest_entry + def structure_toc(self, toc): + indent_vals = set() + for item in toc: + indent_vals.add(item.left_space) + if len(indent_vals) > 6 or len(indent_vals) < 2: + # Too many or too few levels, give up + return toc + indent_vals = sorted(indent_vals) + + last_found = [None for i in indent_vals] + + newtoc = TOC() + + def find_parent(level): + candidates = last_found[:level] + for x in reversed(candidates): + if x is not None: + return x + return newtoc + + for item in toc: + level = indent_vals.index(item.left_space) + parent = find_parent(level) + last_found[level] = parent.add_item(item.href, item.fragment, + item.text) + + return newtoc def sizeof_trailing_entries(self, data): def sizeof_trailing_entry(ptr, psize): diff --git a/src/calibre/ebooks/oeb/stylizer.py b/src/calibre/ebooks/oeb/stylizer.py index 39ab41eede..4f06efba9f 100644 --- a/src/calibre/ebooks/oeb/stylizer.py +++ b/src/calibre/ebooks/oeb/stylizer.py @@ -18,6 +18,7 @@ from cssutils import profile as cssprofiles from lxml import etree from lxml.cssselect import css_to_xpath, ExpressionError, SelectorSyntaxError from calibre import force_unicode +from calibre.ebooks import unit_convert from calibre.ebooks.oeb.base import XHTML, XHTML_NS, CSS_MIME, OEB_STYLES from calibre.ebooks.oeb.base import XPNSMAP, xpath, urlnormalize from calibre.ebooks.oeb.profile import PROFILES @@ -444,7 +445,6 @@ class Stylizer(object): class Style(object): - UNIT_RE = re.compile(r'^(-*[0-9]*[.]?[0-9]*)\s*(%|em|ex|en|px|mm|cm|in|pt|pc)$') MS_PAT = re.compile(r'^\s*(mso-|panose-|text-underline|tab-interval)') def __init__(self, element, stylizer): @@ -507,43 +507,11 @@ class Style(object): return result def _unit_convert(self, value, base=None, font=None): - ' Return value in pts' - if isinstance(value, (int, long, float)): - return value - try: - return float(value) * 72.0 / self._profile.dpi - except: - pass - result = value - m = self.UNIT_RE.match(value) - if m is not None and m.group(1): - value = float(m.group(1)) - unit = m.group(2) - if unit == '%': - if base is None: - base = self.width - result = (value / 100.0) * base - elif unit == 'px': - result = value * 72.0 / self._profile.dpi - elif unit == 'in': - result = value * 72.0 - elif unit == 'pt': - result = value - elif unit == 'em': - font = font or self.fontSize - result = value * font - elif unit in ('ex', 'en'): - # This is a hack for ex since we have no way to know - # the x-height of the font - font = font or self.fontSize - result = value * font * 0.5 - elif unit == 'pc': - result = value * 12.0 - elif unit == 'mm': - result = value * 0.04 - elif unit == 'cm': - result = value * 0.40 - return result + 'Return value in pts' + if base is None: + base = self.width + font = font or self.fontSize + return unit_convert(value, base, font, self._profile.dpi) def pt_to_px(self, value): return (self._profile.dpi / 72.0) * value diff --git a/src/calibre/gui2/actions/store.py b/src/calibre/gui2/actions/store.py index 4e96960243..b87d1818ea 100644 --- a/src/calibre/gui2/actions/store.py +++ b/src/calibre/gui2/actions/store.py @@ -11,6 +11,7 @@ from functools import partial from PyQt4.Qt import QMenu from calibre.gui2.actions import InterfaceAction +from calibre.gui2.dialogs.confirm_delete import confirm class StoreAction(InterfaceAction): @@ -31,9 +32,35 @@ class StoreAction(InterfaceAction): self.qaction.setMenu(self.store_menu) def search(self): + self.show_disclaimer() from calibre.gui2.store.search import SearchDialog sd = SearchDialog(self.gui.istores, self.gui) sd.exec_() def open_store(self, store_plugin): + self.show_disclaimer() store_plugin.open(self.gui) + + def show_disclaimer(self): + confirm(('
' + + _('Calibre helps you find the ebooks you want by searching ' + 'the websites of various commercial and public domain ' + 'book sources for you.') + + '
' + + _('Using the integrated search you can easily find which ' + 'store has the book you are looking for, at the best price. ' + 'You also get DRM status and other useful information.') + + '
' + + _('All transactions (paid or otherwise) are handled between ' + 'you and the book seller. ' + 'Calibre is not part of this process and any issues related ' + 'to a purchase should be directed to the website you are ' + 'buying from. Be sure to double check that any books you get ' + 'will work with your e-book reader, especially if the book you ' + 'are buying has ' + 'DRM.' + )), 'about_get_books_msg', + parent=self.gui, show_cancel_button=False, + confirm_msg=_('Show this message again'), + pixmap='dialog_information.png', title=_('About Get Books')) + diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 6c3dae3c94..4e75a42e89 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -418,6 +418,7 @@ class BookDetails(QWidget): # {{{ if y is None: # Local image self.cover_view.paste_from_clipboard(x) + self.update_layout() else: self.remote_file_dropped.emit(x, y) # We do not support setting cover *and* adding formats for @@ -449,6 +450,7 @@ class BookDetails(QWidget): # {{{ self.setAcceptDrops(True) self._layout = DetailsLayout(vertical, self) self.setLayout(self._layout) + self.current_path = '' self.cover_view = CoverView(vertical, self) self.cover_view.cover_changed.connect(self.cover_changed.emit) @@ -482,15 +484,19 @@ class BookDetails(QWidget): # {{{ def show_data(self, data): self.book_info.show_data(data) self.cover_view.show_data(data) + self.current_path = data.get(_('Path'), '') + self.update_layout() + + def update_layout(self): self._layout.do_layout(self.rect()) try: sz = self.cover_view.pixmap.size() except: sz = QSize(0, 0) self.setToolTip( - '
'+_('Double-click to open Book Details window') +
- '
' + _('Path') + ': ' + data.get(_('Path'), '') +
- '
' + _('Cover size: %dx%d')%(sz.width(), sz.height())
+ '
'+_('Double-click to open Book Details window') +
+ '
' + _('Path') + ': ' + self.current_path +
+ '
' + _('Cover size: %dx%d')%(sz.width(), sz.height())
)
def reset_info(self):
diff --git a/src/calibre/gui2/dialogs/confirm_delete.py b/src/calibre/gui2/dialogs/confirm_delete.py
index 16d7bdde2f..664afd507b 100644
--- a/src/calibre/gui2/dialogs/confirm_delete.py
+++ b/src/calibre/gui2/dialogs/confirm_delete.py
@@ -24,11 +24,18 @@ class Dialog(QDialog, Ui_Dialog):
dynamic[confirm_config_name(self.name)] = self.again.isChecked()
-def confirm(msg, name, parent=None, pixmap='dialog_warning.png'):
+def confirm(msg, name, parent=None, pixmap='dialog_warning.png', title=None,
+ show_cancel_button=True, confirm_msg=None):
if not dynamic.get(confirm_config_name(name), True):
return True
d = Dialog(msg, name, parent)
d.label.setPixmap(QPixmap(I(pixmap)))
d.setWindowIcon(QIcon(I(pixmap)))
+ if title is not None:
+ d.setWindowTitle(title)
+ if not show_cancel_button:
+ d.buttonBox.button(d.buttonBox.Cancel).setVisible(False)
+ if confirm_msg is not None:
+ d.again.setText(confirm_msg)
d.resize(d.sizeHint())
return d.exec_() == d.Accepted
diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py
index 593a3839ac..d34be6c564 100644
--- a/src/calibre/gui2/metadata/basic_widgets.py
+++ b/src/calibre/gui2/metadata/basic_widgets.py
@@ -24,7 +24,7 @@ from calibre.ebooks.metadata.meta import get_metadata
from calibre.gui2 import file_icon_provider, UNDEFINED_QDATE, UNDEFINED_DATE, \
choose_files, error_dialog, choose_images, question_dialog
from calibre.utils.date import local_tz, qt_to_dt
-from calibre import strftime, fit_image
+from calibre import strftime
from calibre.ebooks import BOOK_EXTENSIONS
from calibre.customize.ui import run_plugins_on_import
from calibre.utils.date import utcfromtimestamp
@@ -672,12 +672,7 @@ class Cover(ImageView): # {{{
self.frame_size = (sz.width()//3, sz.height())
def sizeHint(self):
- sz = ImageView.sizeHint(self)
- w, h = sz.width(), sz.height()
- resized, nw, nh = fit_image(w, h, self.frame_size[0],
- self.frame_size[1])
- if resized:
- sz = QSize(nw, nh)
+ sz = QSize(self.frame_size[0], self.frame_size[1])
return sz
def select_cover(self, *args):
diff --git a/src/calibre/gui2/metadata/bulk_download2.py b/src/calibre/gui2/metadata/bulk_download2.py
index 82804b9c96..017635c6fb 100644
--- a/src/calibre/gui2/metadata/bulk_download2.py
+++ b/src/calibre/gui2/metadata/bulk_download2.py
@@ -295,7 +295,7 @@ def proceed(gui, job):
_('Failed to download metadata or covers for any of the %d'
' book(s).') % len(id_map), det_msg=det_msg)
else:
- fmsg = det_msg = ''
+ fmsg = ''
if failed_ids or failed_covers:
fmsg = '
'+_('Could not download metadata and/or covers for %d of the books. Click'
' "Show details" to see which books.')%len(failed_ids)
diff --git a/src/calibre/gui2/preferences/metadata_sources.py b/src/calibre/gui2/preferences/metadata_sources.py
index 9f2c441054..4a6c7cfc06 100644
--- a/src/calibre/gui2/preferences/metadata_sources.py
+++ b/src/calibre/gui2/preferences/metadata_sources.py
@@ -259,6 +259,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
r('wait_after_first_identify_result', msprefs)
r('wait_after_first_cover_result', msprefs)
r('swap_author_names', msprefs)
+ r('fewer_tags', msprefs)
self.configure_plugin_button.clicked.connect(self.configure_plugin)
self.sources_model = SourcesModel(self)
diff --git a/src/calibre/gui2/preferences/metadata_sources.ui b/src/calibre/gui2/preferences/metadata_sources.ui
index 37797eda5a..e46069b036 100644
--- a/src/calibre/gui2/preferences/metadata_sources.ui
+++ b/src/calibre/gui2/preferences/metadata_sources.ui
@@ -7,7 +7,7 @@
%s %s ' + _('Detected price as: %s. Check with the store before making a purchase to verify this price is correct. This price often does not include promotions the store may be running.') % result.price + ' ' + _('This book as been detected as having DRM restrictions. This book may not work with your reader and you will have limitations placed upon you as to what you can do with this book. Check with the store before making any purchases to ensure you can actually read this book.') + ' ' + _('This book has been detected as being DRM Free. You should be able to use this book on any device provided it is in a format calibre supports for conversion. However, before making a purchase double check the DRM status with the store. The store may not be disclosing the use of DRM.') + ' ' + _('The DRM status of this book could not be determined. There is a very high likelihood that this book is actually DRM restricted.') + ' %s %s ' + _('This ebook is a DRMed EPUB file. '
+ 'You will be prompted to save this file to your '
+ 'computer. Once it is saved, open it with '
+ ''
+ 'Adobe Digital Editions (ADE). ADE, in turn '
+ 'will download the actual ebook, which will be a '
+ '.epub file. You can add this book to calibre '
+ 'using "Add Books" and selecting the file from '
+ 'the ADE library folder.'),
+ 'acsm_download', self):
+ return
home = os.path.expanduser('~')
name = QFileDialog.getSaveFileName(self,
_('File is not a supported ebook type. Save to disk?'),
diff --git a/src/calibre/library/field_metadata.py b/src/calibre/library/field_metadata.py
index 33929ac2e4..374505c467 100644
--- a/src/calibre/library/field_metadata.py
+++ b/src/calibre/library/field_metadata.py
@@ -35,7 +35,7 @@ category_icon_map = {
'custom:' : 'column.png',
'user:' : 'tb_folder.png',
'search' : 'search.png',
- 'identifiers': 'id_card.png'
+ 'identifiers': 'identifiers.png'
}
diff --git a/src/calibre/startup.py b/src/calibre/startup.py
index fd9ef01141..78f8aff7e3 100644
--- a/src/calibre/startup.py
+++ b/src/calibre/startup.py
@@ -61,6 +61,12 @@ if not _run_once:
################################################################################
# Initialize locale
+ # Import string as we do not want locale specific
+ # string.whitespace/printable, on windows especially, this causes problems.
+ # Before the delay load optimizations, string was loaded before this point
+ # anyway, so we preserve the old behavior explicitly.
+ import string
+ string
try:
locale.setlocale(locale.LC_ALL, '')
except:
diff --git a/src/calibre/translations/af.po b/src/calibre/translations/af.po
index cab4d44fe9..214c76eed9 100644
--- a/src/calibre/translations/af.po
+++ b/src/calibre/translations/af.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME There was an error reading from file: Click Find again to go to first match"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
@@ -12527,61 +12909,61 @@ msgid ""
"reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
"automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s There was an error reading from file: Click Find again to go to first match"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
@@ -12624,61 +13006,61 @@ msgid ""
"reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr "تبرع& لدعم كاليبر"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
"automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr "خطأ في التحويل"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s There was an error reading from file: Click Find again to go to first match"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
@@ -12527,61 +12909,61 @@ msgid ""
"reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
"automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s There was an error reading from file: Click Find again to go to first match"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
@@ -12559,61 +12941,61 @@ msgid ""
"reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr "&Възстановяване"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
"automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s There was an error reading from file: Click Find again to go to first match"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
@@ -12522,61 +12904,61 @@ msgid ""
"reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
"automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s There was an error reading from file: Click Find again to go to first match"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
@@ -12522,61 +12904,61 @@ msgid ""
"reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
"automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s There was an error reading from file: Hi ha hagut un error en llegir del fitxer: Hi ha disponible una guia d'aprenentatge quant a l'ús "
"d'expressions regulars. Use the Test functionality below to test your regular expression "
-"on a few sample filenames (remember to include the file extension). The "
-"group names for the various metadata entries are documented in "
-"tooltips. Utilizeu la utilitat Prova més avall per provar les vostres "
+"expressions regulars en alguns noms de fitxer d'exemple (no us oblideu "
+"d'incloure l'extensió). Els noms dels grups de les diferents entrades de "
+"metadades es mostren en indicadors de funció. Click Find again to go to first match"
msgstr ""
"No hi ha més coincidències. Feu clic a «Cerca» per tornar a la "
"primera coincidència."
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by name"
msgstr "Ordena per nom"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2121
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
msgid "Sort by popularity"
msgstr "Ordena per popularitat"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2122
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
msgid "Sort by average rating"
msgstr "Ordena per valoració mitjana"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2125
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
msgid "Set the sort order for entries in the Tag Browser"
msgstr "Estableix l'ordre de les entrades a l'explorador d'etiquetes"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match all"
msgstr "Fes-ho coincidir tot"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2132
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
msgid "Match any"
msgstr "Qualsevol coincidència"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2137
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
msgid ""
"When selecting multiple entries in the Tag Browser match any or all of them"
msgstr ""
"Quan es seleccionin múltiples entrades a l'explorador d'etiquetes fes que "
"coincideixi una qualsevol o totes"
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2141
-msgid "Manage &user categories"
-msgstr "Administra les categories d'&usuari"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
+msgstr "Gestiona els autors, etiquetes..."
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2144
-msgid "Add your own categories to the Tag Browser"
-msgstr "Afegiu les vostres categories a l'explorador d'etiquetes"
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
+msgstr ""
+"Tots aquests gestors de categories estan disponibles amb un clic dret als "
+"elements dins de l'explorador d'etiquetes de més amunt."
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
msgid "Convert book %(num)d of %(total)d (%(title)s)"
@@ -14186,27 +14593,27 @@ msgstr ""
"Els llibres següents ja s'han convertit al format %s. Els voleu tornar a "
"convertir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
msgid "&Donate to support calibre"
msgstr "Feu una &donació per donar suport al calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:225
msgid "&Restore"
msgstr "&Restaura"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:230
msgid "&Eject connected device"
msgstr "&Expulseu el dispositiu connectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:239
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:275
msgid "Calibre Quick Start Guide"
msgstr "Guia d'inici ràpid del calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:341
msgid "Debug mode"
msgstr "Mode de depuració"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:342
msgid ""
"You have started calibre in debug mode. After you quit calibre, the debug "
"log will be available in the file: %s The log will be displayed "
@@ -14216,23 +14623,23 @@ msgstr ""
"el registre de depuració estarà disponible al fitxer: %s El registre es "
"mostrarà automàticament."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:505
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:542
msgid "Conversion Error"
msgstr "Error de conversió"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:565
msgid "Recipe Disabled"
msgstr "Recepta inhabilitada"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:581
msgid "Failed"
msgstr "Ha fallat"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:577
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:614
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Hi ha tasques actives. Segur que voleu sortir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:580
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:617
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s S'està migrant la base de dades antiga a la biblioteca de %s
The "
@@ -4569,7 +4672,7 @@ msgid ""
"changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -4581,7 +4684,7 @@ msgid ""
"calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -4806,6 +4909,19 @@ msgstr ""
msgid "Books with the same tags"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -4828,53 +4944,57 @@ msgstr ""
msgid "No ePub available. First convert the book to ePub."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -4882,11 +5002,15 @@ msgid ""
"continue?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr ""
@@ -5113,8 +5237,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr ""
@@ -5124,17 +5248,17 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr ""
@@ -5144,14 +5268,15 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr ""
@@ -5254,7 +5379,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -5266,6 +5391,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr ""
@@ -6139,38 +6265,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr ""
@@ -6233,6 +6359,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -6242,7 +6369,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr ""
@@ -6252,7 +6379,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr ""
@@ -6440,6 +6567,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6526,6 +6654,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr ""
@@ -6859,7 +6988,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -6928,7 +7057,7 @@ msgid "tags to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr ""
@@ -7007,7 +7136,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr ""
@@ -7018,7 +7147,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr ""
@@ -7392,7 +7521,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr ""
@@ -7576,9 +7706,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -7608,12 +7738,12 @@ msgid "Author sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr ""
@@ -7655,7 +7785,7 @@ msgid "Author Sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr ""
@@ -7734,7 +7864,7 @@ msgstr ""
msgid "Download &social metadata (tags/rating/etc.) for the selected book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr ""
@@ -7891,58 +8021,58 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -7972,7 +8102,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr ""
@@ -7980,7 +8110,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -8001,7 +8131,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr ""
@@ -8054,7 +8184,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr ""
@@ -8130,14 +8260,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr ""
@@ -8310,38 +8440,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -8385,46 +8515,46 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -8445,7 +8575,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -8454,13 +8584,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -8470,22 +8600,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -8518,12 +8648,12 @@ msgid "You must specify at least one of ISBN, Title, Authors or Publisher"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -8536,7 +8666,7 @@ msgid "Meta information"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -8544,7 +8674,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
@@ -8582,7 +8712,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr ""
@@ -8595,7 +8725,7 @@ msgid "dd MMM yyyy"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8604,7 +8734,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8613,7 +8743,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8622,12 +8752,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8636,7 +8766,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8653,7 +8783,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8662,7 +8792,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr ""
@@ -9103,7 +9233,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -9138,6 +9268,7 @@ msgid "Choose formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr ""
@@ -9291,12 +9422,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9602,57 +9733,77 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr ""
@@ -9796,74 +9947,79 @@ msgstr ""
msgid "Shift+Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
msgid "Job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
msgid "Status"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
msgid "Progress"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:65
msgid "Running time"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:77
msgid "There are %d running jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:103
msgid "Unknown job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:84
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+msgid "This job cannot be stopped"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
msgid "Unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -9880,7 +10036,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9889,7 +10045,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -9932,23 +10088,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:227
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -9970,38 +10118,38 @@ msgstr ""
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:764
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1321
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1316
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1214
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1221
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1301
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1304
msgid "Double click to edit me
"
msgstr ""
@@ -10045,7 +10193,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -10104,6 +10252,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr ""
@@ -10275,55 +10424,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -10335,10 +10478,6 @@ msgstr ""
msgid "No matches found for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr ""
@@ -10369,33 +10508,163 @@ msgstr ""
msgid "Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -10467,30 +10736,20 @@ msgstr ""
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr ""
@@ -10770,9 +11029,9 @@ msgid "Ratings, shown with stars"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr ""
@@ -10780,106 +11039,110 @@ msgstr ""
msgid "Column built from other columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
@@ -11254,57 +11517,87 @@ msgstr ""
msgid "Restart needed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
"(smaller) priority will be preferred when bulk downloading metadata.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr ""
@@ -11445,77 +11738,77 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
@@ -11792,7 +12085,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr ""
@@ -12101,33 +12394,33 @@ msgstr ""
msgid "Remove selected actions from toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
"the plugins."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -12164,43 +12457,42 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
+msgid "*Current search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
msgid "Restrict to"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:79
msgid "(all books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:74
msgid "({0} of {1})"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:81
msgid "({0} of all)"
msgstr ""
@@ -12259,166 +12551,254 @@ msgstr ""
msgid "&Alternate shortcut:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
msgid "Rename %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
msgid "Edit sort for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
msgid "Add %s to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
msgid "Children of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
msgid "Delete search %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
msgid "Search for everything but %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
msgid "Show category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
msgid "Search for books in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:436
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
msgid "Search for books not in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:445
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
msgid "Manage %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
msgid "Show all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:475
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
msgid "Change sub-categorization scheme"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1064
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
msgid ""
"Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1069
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
msgid ""
"Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
#: /home/kovid/work/calibre/src/calibre/library/database2.py:418
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1406
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1415
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1387
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1407
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
msgid "The saved search name %s is already used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1893
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1896
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1894
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1897
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1918
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1919
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1939
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2062
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -12428,61 +12808,63 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2078
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2079
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2084
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2108
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -13434,53 +13816,53 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr ""
@@ -14283,11 +14665,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -14297,19 +14679,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
The "
@@ -4664,7 +4767,7 @@ msgid ""
"changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -4676,7 +4779,7 @@ msgid ""
"calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -4901,6 +5004,19 @@ msgstr ""
msgid "Books with the same tags"
msgstr "كتب بنفس الوسوم"
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr "بحث"
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -4923,53 +5039,57 @@ msgstr ""
msgid "No ePub available. First convert the book to ePub."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr "V"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr "عرض"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr "عرض تهيئة معينة"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -4977,11 +5097,15 @@ msgid ""
"continue?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr ""
@@ -5208,8 +5332,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr "المسار"
@@ -5219,17 +5343,17 @@ msgstr "المسار"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr "التهيئات"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr ""
@@ -5239,14 +5363,15 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr "بدون"
@@ -5349,7 +5474,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -5361,6 +5486,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr "استمارة"
@@ -6234,38 +6360,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr "إختار الغلاف لـ "
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr "لا يمكن القراءة"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr "خطأ في قراءة الملف"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr " ليست صورة صالحة"
@@ -6328,6 +6454,7 @@ msgstr "الو&سوم: "
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -6339,7 +6466,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr "&سلسلات:"
@@ -6349,7 +6476,7 @@ msgstr "&سلسلات:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr "قائمة السلسلات المعروفة. بإمكانك إضافة سلسلات جديدة."
@@ -6537,6 +6664,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6623,6 +6751,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr "حوار"
@@ -6956,7 +7085,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -7025,7 +7154,7 @@ msgid "tags to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr ""
@@ -7104,7 +7233,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr "خطأ"
@@ -7115,7 +7244,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr ""
@@ -7489,7 +7618,8 @@ msgstr "إختيار التهيئة"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr "التهيئة"
@@ -7673,9 +7803,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -7705,12 +7835,12 @@ msgid "Author sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr ""
@@ -7752,7 +7882,7 @@ msgid "Author Sort"
msgstr "ترتيب المؤلف"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr "ISBN"
@@ -7831,7 +7961,7 @@ msgstr ""
msgid "Download &social metadata (tags/rating/etc.) for the selected book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr ""
@@ -7988,58 +8118,58 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -8069,7 +8199,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr ""
@@ -8077,7 +8207,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -8098,7 +8228,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr "فتح محرر الوسوم"
@@ -8151,7 +8281,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr ""
@@ -8227,14 +8357,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr ""
@@ -8407,38 +8537,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -8482,46 +8612,46 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -8542,7 +8672,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -8551,13 +8681,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -8567,22 +8697,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -8615,12 +8745,12 @@ msgid "You must specify at least one of ISBN, Title, Authors or Publisher"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -8633,7 +8763,7 @@ msgid "Meta information"
msgstr "معلومات الميتا"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -8641,7 +8771,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
@@ -8679,7 +8809,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr "حذف سلسلات غير مستخدمة (سلسلات التي لا تحتوي على كتب)"
@@ -8692,7 +8822,7 @@ msgid "dd MMM yyyy"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8701,7 +8831,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8710,7 +8840,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8719,12 +8849,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8733,7 +8863,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8750,7 +8880,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr "حذف التهيئات المختارة لهذا الكتاب من قاعدة البيانات."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8759,7 +8889,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr ""
@@ -9200,7 +9330,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -9235,6 +9365,7 @@ msgid "Choose formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr "المؤلفون"
@@ -9392,12 +9523,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9703,57 +9834,77 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr ""
@@ -9897,74 +10048,79 @@ msgstr ""
msgid "Shift+Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
msgid "Job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
msgid "Status"
msgstr "الحالة"
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
msgid "Progress"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:65
msgid "Running time"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:77
msgid "There are %d running jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:103
msgid "Unknown job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:84
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+msgid "This job cannot be stopped"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
msgid "Unavailable"
msgstr "غير متوفر"
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -9981,7 +10137,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9990,7 +10146,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -10033,23 +10189,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:227
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -10071,34 +10219,34 @@ msgstr ""
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:764
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1321
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1316
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1301
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1304
msgid "Double click to edit me
"
msgstr ""
@@ -10142,7 +10290,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -10201,6 +10349,7 @@ msgid "Previous Page"
msgstr "الصفحة السابقة"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr ""
@@ -10372,55 +10521,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -10432,10 +10575,6 @@ msgstr ""
msgid "No matches found for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr ""
@@ -10466,33 +10605,163 @@ msgstr ""
msgid "Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -10564,30 +10833,20 @@ msgstr ""
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr ""
@@ -10867,9 +11126,9 @@ msgid "Ratings, shown with stars"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr ""
@@ -10877,106 +11136,110 @@ msgstr ""
msgid "Column built from other columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
@@ -11351,57 +11614,87 @@ msgstr ""
msgid "Restart needed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
"(smaller) priority will be preferred when bulk downloading metadata.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr ""
@@ -11542,77 +11835,77 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr "مسار الملحق غير صالح"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr "%s ليس مسار لملحق صالح"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr "لا يمكن تعطيل الملحق"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr "الملحق: %s لا يمكن تعطيله"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr "لا يمكن تخصيص الملحق"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr "الملحق: %s لا يحتاج التخصيص"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr "لم يمكن حذف الملحق المضمن"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr " لا يمكن حذفه. هذا ملحق مضمن في البرنامج. حاول تعطيله بدلاً من حذفه."
@@ -11889,7 +12182,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr "فشل في تشغيل خادم المحتوى"
@@ -12198,33 +12491,33 @@ msgstr ""
msgid "Remove selected actions from toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
"the plugins."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -12261,43 +12554,42 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr "بحث"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
+msgid "*Current search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
msgid "Restrict to"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:79
msgid "(all books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:74
msgid "({0} of {1})"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:81
msgid "({0} of all)"
msgstr ""
@@ -12356,166 +12648,254 @@ msgstr ""
msgid "&Alternate shortcut:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
msgid "Rename %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
msgid "Edit sort for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
msgid "Add %s to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
msgid "Children of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
msgid "Delete search %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
msgid "Search for everything but %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
msgid "Show category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
msgid "Search for books in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:436
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
msgid "Search for books not in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:445
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
msgid "Manage %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
msgid "Show all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:475
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
msgid "Change sub-categorization scheme"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1064
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
msgid ""
"Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1069
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
msgid ""
"Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
#: /home/kovid/work/calibre/src/calibre/library/database2.py:418
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1406
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1415
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1387
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1407
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
msgid "The saved search name %s is already used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1893
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1896
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1894
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1897
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1918
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1919
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1939
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2062
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -12525,61 +12905,63 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2078
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2079
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2084
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2108
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -13491,53 +13873,53 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr ""
@@ -14343,11 +14725,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -14357,19 +14739,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
The "
@@ -4569,7 +4672,7 @@ msgid ""
"changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -4581,7 +4684,7 @@ msgid ""
"calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -4806,6 +4909,19 @@ msgstr ""
msgid "Books with the same tags"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -4828,53 +4944,57 @@ msgstr ""
msgid "No ePub available. First convert the book to ePub."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -4882,11 +5002,15 @@ msgid ""
"continue?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr ""
@@ -5113,8 +5237,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr ""
@@ -5124,17 +5248,17 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr ""
@@ -5144,14 +5268,15 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr ""
@@ -5254,7 +5379,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -5266,6 +5391,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr ""
@@ -6139,38 +6265,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr ""
@@ -6233,6 +6359,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -6242,7 +6369,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr ""
@@ -6252,7 +6379,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr ""
@@ -6440,6 +6567,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6526,6 +6654,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr ""
@@ -6859,7 +6988,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -6928,7 +7057,7 @@ msgid "tags to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr ""
@@ -7007,7 +7136,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr ""
@@ -7018,7 +7147,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr ""
@@ -7392,7 +7521,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr ""
@@ -7576,9 +7706,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -7608,12 +7738,12 @@ msgid "Author sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr ""
@@ -7655,7 +7785,7 @@ msgid "Author Sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr ""
@@ -7734,7 +7864,7 @@ msgstr ""
msgid "Download &social metadata (tags/rating/etc.) for the selected book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr ""
@@ -7891,58 +8021,58 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -7972,7 +8102,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr ""
@@ -7980,7 +8110,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -8001,7 +8131,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr ""
@@ -8054,7 +8184,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr ""
@@ -8130,14 +8260,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr ""
@@ -8310,38 +8440,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -8385,46 +8515,46 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -8445,7 +8575,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -8454,13 +8584,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -8470,22 +8600,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -8518,12 +8648,12 @@ msgid "You must specify at least one of ISBN, Title, Authors or Publisher"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -8536,7 +8666,7 @@ msgid "Meta information"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -8544,7 +8674,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
@@ -8582,7 +8712,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr ""
@@ -8595,7 +8725,7 @@ msgid "dd MMM yyyy"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8604,7 +8734,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8613,7 +8743,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8622,12 +8752,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8636,7 +8766,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8653,7 +8783,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8662,7 +8792,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr ""
@@ -9103,7 +9233,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -9138,6 +9268,7 @@ msgid "Choose formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr ""
@@ -9291,12 +9422,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9602,57 +9733,77 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr ""
@@ -9796,74 +9947,79 @@ msgstr ""
msgid "Shift+Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
msgid "Job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
msgid "Status"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
msgid "Progress"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:65
msgid "Running time"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:77
msgid "There are %d running jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:103
msgid "Unknown job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:84
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+msgid "This job cannot be stopped"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
msgid "Unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -9880,7 +10036,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9889,7 +10045,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -9932,23 +10088,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:227
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -9970,38 +10118,38 @@ msgstr ""
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:764
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1321
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1316
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1214
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1221
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1301
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1304
msgid "Double click to edit me
"
msgstr ""
@@ -10045,7 +10193,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -10104,6 +10252,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr ""
@@ -10275,55 +10424,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -10335,10 +10478,6 @@ msgstr ""
msgid "No matches found for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr ""
@@ -10369,33 +10508,163 @@ msgstr ""
msgid "Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -10467,30 +10736,20 @@ msgstr ""
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr ""
@@ -10770,9 +11029,9 @@ msgid "Ratings, shown with stars"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr ""
@@ -10780,106 +11039,110 @@ msgstr ""
msgid "Column built from other columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
@@ -11254,57 +11517,87 @@ msgstr ""
msgid "Restart needed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
"(smaller) priority will be preferred when bulk downloading metadata.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr ""
@@ -11445,77 +11738,77 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
@@ -11792,7 +12085,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr ""
@@ -12101,33 +12394,33 @@ msgstr ""
msgid "Remove selected actions from toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
"the plugins."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -12164,43 +12457,42 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
+msgid "*Current search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
msgid "Restrict to"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:79
msgid "(all books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:74
msgid "({0} of {1})"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:81
msgid "({0} of all)"
msgstr ""
@@ -12259,166 +12551,254 @@ msgstr ""
msgid "&Alternate shortcut:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
msgid "Rename %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
msgid "Edit sort for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
msgid "Add %s to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
msgid "Children of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
msgid "Delete search %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
msgid "Search for everything but %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
msgid "Show category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
msgid "Search for books in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:436
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
msgid "Search for books not in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:445
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
msgid "Manage %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
msgid "Show all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:475
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
msgid "Change sub-categorization scheme"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1064
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
msgid ""
"Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1069
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
msgid ""
"Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
#: /home/kovid/work/calibre/src/calibre/library/database2.py:418
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1406
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1415
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1387
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1407
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
msgid "The saved search name %s is already used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1893
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1896
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1894
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1897
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1918
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1919
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1939
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2062
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -12428,61 +12808,63 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2078
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2079
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2084
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2108
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -13434,53 +13816,53 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr ""
@@ -14283,11 +14665,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -14297,19 +14679,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
The "
@@ -4594,7 +4697,7 @@ msgid ""
"changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -4606,7 +4709,7 @@ msgid ""
"calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -4831,6 +4934,19 @@ msgstr ""
msgid "Books with the same tags"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr "Търсене"
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -4853,53 +4969,57 @@ msgstr ""
msgid "No ePub available. First convert the book to ePub."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr "Преглед"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr "Преглед на специфичен формат"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr "Не може да се прегледа"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr "Избор на формат за преглеждане"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr "Няколко избрани книги"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -4907,11 +5027,15 @@ msgid ""
"continue?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr "Не може да се отвори папката"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr ""
@@ -5138,8 +5262,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr "Път"
@@ -5149,17 +5273,17 @@ msgstr "Път"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr "Формати"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr "Колекции"
@@ -5169,14 +5293,15 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr ""
@@ -5279,7 +5404,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -5291,6 +5416,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr "Форма"
@@ -6164,38 +6290,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr "Избор на корица за "
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr "Грешка при четене на файл"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr ""
@@ -6258,6 +6384,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -6267,7 +6394,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr "&Серии:"
@@ -6277,7 +6404,7 @@ msgstr "&Серии:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr ""
@@ -6465,6 +6592,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6551,6 +6679,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr "Диалог"
@@ -6884,7 +7013,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -6953,7 +7082,7 @@ msgid "tags to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr ""
@@ -7032,7 +7161,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr "Грешка"
@@ -7043,7 +7172,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr "Няма подходящи формати"
@@ -7417,7 +7546,8 @@ msgstr "Избор на формат"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr "Формат"
@@ -7601,9 +7731,9 @@ msgstr "Местоположение"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -7633,12 +7763,12 @@ msgid "Author sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr ""
@@ -7680,7 +7810,7 @@ msgid "Author Sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr "ISBN"
@@ -7759,7 +7889,7 @@ msgstr ""
msgid "Download &social metadata (tags/rating/etc.) for the selected book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr "Детайли на задачата"
@@ -7916,58 +8046,58 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -7997,7 +8127,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr "&Рейтинг:"
@@ -8005,7 +8135,7 @@ msgstr "&Рейтинг:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -8026,7 +8156,7 @@ msgstr "Добавяне на &етикети: "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr ""
@@ -8079,7 +8209,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr "&Дата:"
@@ -8155,14 +8285,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr "&Основни метаданни"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr "&Потребителски метаданни"
@@ -8335,38 +8465,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr "Не е валидна снимка"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -8412,46 +8542,46 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr "Няма разрешение"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr "Нямате права за четене на следните файлове:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr "Не е избран формат"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -8472,7 +8602,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -8481,13 +8611,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -8497,22 +8627,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr "Това ISBN номер е валиден"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr "Това ISBN номер е невалиден"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -8546,12 +8676,12 @@ msgstr ""
"Трябва да посочите поне един от ISBN номерата, Заглавие, Автор или Издател"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr "Достъпът е отказан"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -8564,7 +8694,7 @@ msgid "Meta information"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -8572,7 +8702,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
@@ -8610,7 +8740,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr ""
@@ -8623,7 +8753,7 @@ msgid "dd MMM yyyy"
msgstr "dd MMM yyyy"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8632,7 +8762,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8641,7 +8771,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8650,12 +8780,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8664,7 +8794,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8681,7 +8811,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8690,7 +8820,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr "&Коментари"
@@ -9131,7 +9261,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -9166,6 +9296,7 @@ msgid "Choose formats"
msgstr "Избор на формати"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr "Автори"
@@ -9319,12 +9450,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9630,57 +9761,77 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr "Новини:"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr "от"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr "в %s формат."
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr "Изпращане на имейл на"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr ""
@@ -9824,74 +9975,79 @@ msgstr ""
msgid "Shift+Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
msgid "Job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
msgid "Status"
msgstr "Състояние"
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
msgid "Progress"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:65
msgid "Running time"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:77
msgid "There are %d running jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:103
msgid "Unknown job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:84
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+msgid "This job cannot be stopped"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
msgid "Unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -9908,7 +10064,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9917,7 +10073,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -9960,23 +10116,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr "Изчистване на бързото търсене"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:227
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -9998,38 +10146,38 @@ msgstr ""
msgid "Size (MB)"
msgstr "Размер (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:764
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1321
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1316
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1214
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1221
msgid "Book %s of %s."
msgstr "Книга %s от %s."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1301
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1304
msgid "Double click to edit me
"
msgstr ""
@@ -10073,7 +10221,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -10132,6 +10280,7 @@ msgid "Previous Page"
msgstr "Предишна страница"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr "Назад"
@@ -10303,55 +10452,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -10363,10 +10506,6 @@ msgstr "Книгата няма нито заглавие нито ISBN номе
msgid "No matches found for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr ""
@@ -10397,33 +10536,163 @@ msgstr ""
msgid "Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -10495,30 +10764,20 @@ msgstr ""
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr ""
@@ -10798,9 +11057,9 @@ msgid "Ratings, shown with stars"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr ""
@@ -10808,106 +11067,110 @@ msgstr ""
msgid "Column built from other columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
@@ -11282,57 +11545,87 @@ msgstr ""
msgid "Restart needed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
"(smaller) priority will be preferred when bulk downloading metadata.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr ""
@@ -11473,77 +11766,77 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
@@ -11822,7 +12115,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr ""
@@ -12133,33 +12426,33 @@ msgstr ""
msgid "Remove selected actions from toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
"the plugins."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -12196,43 +12489,42 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr "Търсене"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
+msgid "*Current search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
msgid "Restrict to"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:79
msgid "(all books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:74
msgid "({0} of {1})"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:81
msgid "({0} of all)"
msgstr ""
@@ -12291,166 +12583,254 @@ msgstr "Щракнете, за да промените"
msgid "&Alternate shortcut:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
msgid "Rename %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
msgid "Edit sort for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
msgid "Add %s to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
msgid "Children of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
msgid "Delete search %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
msgid "Search for everything but %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
msgid "Show category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
msgid "Search for books in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:436
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
msgid "Search for books not in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:445
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
msgid "Manage %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
msgid "Show all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:475
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
msgid "Change sub-categorization scheme"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1064
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
msgid ""
"Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1069
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
msgid ""
"Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
#: /home/kovid/work/calibre/src/calibre/library/database2.py:418
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1406
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1415
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1387
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1407
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
msgid "The saved search name %s is already used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1893
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1896
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1894
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1897
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1918
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1919
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1939
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2062
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -12460,61 +12840,63 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2078
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2079
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2084
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2108
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -13466,53 +13848,53 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr ""
@@ -14315,11 +14697,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -14329,19 +14711,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
The "
@@ -4564,7 +4667,7 @@ msgid ""
"changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -4576,7 +4679,7 @@ msgid ""
"calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -4801,6 +4904,19 @@ msgstr ""
msgid "Books with the same tags"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -4823,53 +4939,57 @@ msgstr ""
msgid "No ePub available. First convert the book to ePub."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -4877,11 +4997,15 @@ msgid ""
"continue?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr ""
@@ -5108,8 +5232,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr ""
@@ -5119,17 +5243,17 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr ""
@@ -5139,14 +5263,15 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr ""
@@ -5249,7 +5374,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -5261,6 +5386,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr ""
@@ -6134,38 +6260,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr ""
@@ -6228,6 +6354,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -6237,7 +6364,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr ""
@@ -6247,7 +6374,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr ""
@@ -6435,6 +6562,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6521,6 +6649,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr ""
@@ -6854,7 +6983,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -6923,7 +7052,7 @@ msgid "tags to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr ""
@@ -7002,7 +7131,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr ""
@@ -7013,7 +7142,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr ""
@@ -7387,7 +7516,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr ""
@@ -7571,9 +7701,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -7603,12 +7733,12 @@ msgid "Author sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr ""
@@ -7650,7 +7780,7 @@ msgid "Author Sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr ""
@@ -7729,7 +7859,7 @@ msgstr ""
msgid "Download &social metadata (tags/rating/etc.) for the selected book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr ""
@@ -7886,58 +8016,58 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -7967,7 +8097,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr ""
@@ -7975,7 +8105,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -7996,7 +8126,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr ""
@@ -8049,7 +8179,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr ""
@@ -8125,14 +8255,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr ""
@@ -8305,38 +8435,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -8380,46 +8510,46 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -8440,7 +8570,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -8449,13 +8579,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -8465,22 +8595,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -8513,12 +8643,12 @@ msgid "You must specify at least one of ISBN, Title, Authors or Publisher"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -8531,7 +8661,7 @@ msgid "Meta information"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -8539,7 +8669,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
@@ -8577,7 +8707,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr ""
@@ -8590,7 +8720,7 @@ msgid "dd MMM yyyy"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8599,7 +8729,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8608,7 +8738,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8617,12 +8747,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8631,7 +8761,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8648,7 +8778,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8657,7 +8787,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr ""
@@ -9098,7 +9228,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -9133,6 +9263,7 @@ msgid "Choose formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr ""
@@ -9286,12 +9417,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9597,57 +9728,77 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr ""
@@ -9791,74 +9942,79 @@ msgstr ""
msgid "Shift+Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
msgid "Job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
msgid "Status"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
msgid "Progress"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:65
msgid "Running time"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:77
msgid "There are %d running jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:103
msgid "Unknown job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:84
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+msgid "This job cannot be stopped"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
msgid "Unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -9875,7 +10031,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9884,7 +10040,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -9927,23 +10083,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:227
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -9965,38 +10113,38 @@ msgstr ""
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:764
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1321
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1316
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1214
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1221
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1301
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1304
msgid "Double click to edit me
"
msgstr ""
@@ -10040,7 +10188,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -10099,6 +10247,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr ""
@@ -10270,55 +10419,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -10330,10 +10473,6 @@ msgstr ""
msgid "No matches found for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr ""
@@ -10364,33 +10503,163 @@ msgstr ""
msgid "Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -10462,30 +10731,20 @@ msgstr ""
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr ""
@@ -10765,9 +11024,9 @@ msgid "Ratings, shown with stars"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr ""
@@ -10775,106 +11034,110 @@ msgstr ""
msgid "Column built from other columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
@@ -11249,57 +11512,87 @@ msgstr ""
msgid "Restart needed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
"(smaller) priority will be preferred when bulk downloading metadata.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr ""
@@ -11440,77 +11733,77 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
@@ -11787,7 +12080,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr ""
@@ -12096,33 +12389,33 @@ msgstr ""
msgid "Remove selected actions from toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
"the plugins."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -12159,43 +12452,42 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
+msgid "*Current search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
msgid "Restrict to"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:79
msgid "(all books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:74
msgid "({0} of {1})"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:81
msgid "({0} of all)"
msgstr ""
@@ -12254,166 +12546,254 @@ msgstr ""
msgid "&Alternate shortcut:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
msgid "Rename %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
msgid "Edit sort for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
msgid "Add %s to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
msgid "Children of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
msgid "Delete search %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
msgid "Search for everything but %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
msgid "Show category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
msgid "Search for books in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:436
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
msgid "Search for books not in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:445
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
msgid "Manage %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
msgid "Show all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:475
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
msgid "Change sub-categorization scheme"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1064
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
msgid ""
"Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1069
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
msgid ""
"Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
#: /home/kovid/work/calibre/src/calibre/library/database2.py:418
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1406
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1415
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1387
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1407
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
msgid "The saved search name %s is already used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1893
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1896
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1894
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1897
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1918
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1919
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1939
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2062
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -12423,61 +12803,63 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2078
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2079
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2084
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2108
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -13429,53 +13811,53 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr ""
@@ -14278,11 +14660,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -14292,19 +14674,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
The "
@@ -4564,7 +4667,7 @@ msgid ""
"changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -4576,7 +4679,7 @@ msgid ""
"calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -4801,6 +4904,19 @@ msgstr ""
msgid "Books with the same tags"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -4823,53 +4939,57 @@ msgstr ""
msgid "No ePub available. First convert the book to ePub."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -4877,11 +4997,15 @@ msgid ""
"continue?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr ""
@@ -5108,8 +5232,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr ""
@@ -5119,17 +5243,17 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr ""
@@ -5139,14 +5263,15 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr ""
@@ -5249,7 +5374,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -5261,6 +5386,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr ""
@@ -6134,38 +6260,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr ""
@@ -6228,6 +6354,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -6237,7 +6364,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr ""
@@ -6247,7 +6374,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr ""
@@ -6435,6 +6562,7 @@ msgid "Occurrences:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr ""
@@ -6521,6 +6649,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr ""
@@ -6854,7 +6983,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr ""
@@ -6923,7 +7052,7 @@ msgid "tags to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr ""
@@ -7002,7 +7131,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr ""
@@ -7013,7 +7142,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr ""
@@ -7387,7 +7516,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr ""
@@ -7571,9 +7701,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -7603,12 +7733,12 @@ msgid "Author sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr ""
@@ -7650,7 +7780,7 @@ msgid "Author Sort"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr ""
@@ -7729,7 +7859,7 @@ msgstr ""
msgid "Download &social metadata (tags/rating/etc.) for the selected book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr ""
@@ -7886,58 +8016,58 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -7967,7 +8097,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr ""
@@ -7975,7 +8105,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr ""
@@ -7996,7 +8126,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr ""
@@ -8049,7 +8179,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr ""
@@ -8125,14 +8255,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr ""
@@ -8305,38 +8435,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr ""
@@ -8380,46 +8510,46 @@ msgid "The cover is not a valid picture"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -8440,7 +8570,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -8449,13 +8579,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -8465,22 +8595,22 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -8513,12 +8643,12 @@ msgid "You must specify at least one of ISBN, Title, Authors or Publisher"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -8531,7 +8661,7 @@ msgid "Meta information"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -8539,7 +8669,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr ""
@@ -8577,7 +8707,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr ""
@@ -8590,7 +8720,7 @@ msgid "dd MMM yyyy"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr ""
@@ -8599,7 +8729,7 @@ msgid "&Fetch metadata from server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr ""
@@ -8608,7 +8738,7 @@ msgid "Remove border (if any) from cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr ""
@@ -8617,12 +8747,12 @@ msgid "Reset cover to default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr ""
@@ -8631,7 +8761,7 @@ msgid "Generate a default cover based on the title and author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr ""
@@ -8648,7 +8778,7 @@ msgid "Remove the selected formats for this book from the database."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr ""
@@ -8657,7 +8787,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr ""
@@ -9098,7 +9228,7 @@ msgid "&Author:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr ""
@@ -9133,6 +9263,7 @@ msgid "Choose formats"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr ""
@@ -9286,12 +9417,12 @@ msgid "%s (was %s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9597,57 +9728,77 @@ msgstr ""
msgid "Failed to download from %r with error: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr ""
@@ -9791,74 +9942,79 @@ msgstr ""
msgid "Shift+Alt+D"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
msgid "Job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
msgid "Status"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
msgid "Progress"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:65
msgid "Running time"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:77
msgid "There are %d running jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:103
msgid "Unknown job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:84
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+msgid "This job cannot be stopped"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
msgid "Unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -9875,7 +10031,7 @@ msgid "Show books in the main memory of the device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
msgid "Card A"
msgstr ""
@@ -9884,7 +10040,7 @@ msgid "Show books in storage card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1016
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1018
msgid "Card B"
msgstr ""
@@ -9927,23 +10083,15 @@ msgstr ""
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
-msgid "Change the way searching for books works"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:213
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:219
msgid "Save current search under the name shown in the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:227
-msgid "Delete current saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:254
msgid "Donate"
msgstr ""
@@ -9965,38 +10113,38 @@ msgstr ""
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:401
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:764
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1321
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1316
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1214
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1221
msgid "Book %s of %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1301
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1297
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1304
msgid "Double click to edit me
"
msgstr ""
@@ -10040,7 +10188,7 @@ msgstr ""
msgid "Restore default layout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -10099,6 +10247,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr ""
@@ -10270,55 +10419,49 @@ msgstr ""
msgid "Author s&ort:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
"Double click to view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr ""
@@ -10330,10 +10473,6 @@ msgstr ""
msgid "No matches found for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr ""
@@ -10364,33 +10503,163 @@ msgstr ""
msgid "Details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr ""
@@ -10462,30 +10731,20 @@ msgstr ""
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr ""
@@ -10765,9 +11024,9 @@ msgid "Ratings, shown with stars"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr ""
@@ -10775,106 +11034,110 @@ msgstr ""
msgid "Column built from other columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
@@ -11249,57 +11512,87 @@ msgstr ""
msgid "Restart needed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
"(smaller) priority will be preferred when bulk downloading metadata.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr ""
@@ -11440,77 +11733,77 @@ msgstr ""
msgid "Search for plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
@@ -11787,7 +12080,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr ""
@@ -12096,33 +12389,33 @@ msgstr ""
msgid "Remove selected actions from toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
"the plugins."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -12159,43 +12452,42 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:346
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:369
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:424
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:426
msgid "Choose saved search or enter name for new saved search"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:439
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:42
+msgid "*Current search"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
msgid "Restrict to"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:79
msgid "(all books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:74
msgid "({0} of {1})"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:81
msgid "({0} of all)"
msgstr ""
@@ -12254,166 +12546,254 @@ msgstr ""
msgid "&Alternate shortcut:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:344
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:374
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:403
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63
+msgid "Books:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63
+msgid "Close"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search.py:346
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:104
+msgid "calibre Store Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:105
+msgid "Query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107
+msgid "Stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108
+msgid "All"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109
+msgid "Invert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:69
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
msgid "Rename %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
msgid "Edit sort for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
msgid "Add %s to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
msgid "Children of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:378
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
msgid "Delete search %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
msgid "Search for everything but %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:420
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
msgid "Show category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
msgid "Search for books in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:436
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
msgid "Search for books not in category %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:445
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
msgid "Manage %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:453
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
msgid "Manage Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
msgid "Manage User Categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
msgid "Show all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:475
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
msgid "Change sub-categorization scheme"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
msgid "The grouped search term name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1064
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
msgid ""
"Changing the authors for several books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1069
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
msgid ""
"Changing the metadata for that many books can take a while. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
#: /home/kovid/work/calibre/src/calibre/library/database2.py:418
msgid "Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1406
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1415
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1387
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1407
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1416
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
msgid "The saved search name %s is already used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
msgid "New Category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1893
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1896
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1894
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1897
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1918
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
msgid "Remove category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1919
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1938
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1939
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2062
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2065
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
msgid ""
"Search for items. This is a \"contains\" search; items containing the\n"
"text anywhere in the name will be found. You can limit the search\n"
@@ -12423,61 +12803,63 @@ msgid ""
"containing the text \"foo\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2074
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
msgid "ALT+f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2078
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
msgid "F&ind"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2079
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
msgid "Find the first/next matching item"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2084
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
msgid "Collapse all categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2108
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
msgid "No More Matches.
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -13429,53 +13811,53 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr ""
@@ -14278,11 +14660,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -14292,19 +14674,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "
The "
@@ -5291,7 +5400,7 @@ msgstr ""
"suprimira ni canviarà el segon ni els següents llibres seleccionats.
"
"Confirmeu si voleu continuar."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:313
msgid ""
"Book formats from the selected books will be merged into the first "
"selected book (%s). Metadata in the first selected book will not be "
@@ -5312,7 +5421,7 @@ msgstr ""
"següents llibres seleccionats.
Esteu segur que voleu "
"continuar?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329
msgid ""
"Book formats and metadata from the selected books will be merged into the "
"first selected book (%s). ISBN will not be "
@@ -5548,6 +5657,19 @@ msgstr "Alt+T"
msgid "Books with the same tags"
msgstr "Llibres amb les mateixes etiquetes"
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:18
+msgid "Get books"
+msgstr "Aconseguiu llibres"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
+msgid "Search"
+msgstr "Cerca"
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54
msgid "Tweak ePub"
@@ -5570,43 +5692,47 @@ msgstr "No es pot ajustar ePub"
msgid "No ePub available. First convert the book to ePub."
msgstr "No hi ha cap ePub. Convertiu primer el llibre a ePub."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "V"
msgstr "V"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
msgid "View"
msgstr "Mostra"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
msgid "View specific format"
msgstr "Visualitza un format concret"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
msgid "Read a random book"
msgstr "Llegir un llibre a l'atzar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:92
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr "Suprimeix la llista dels recentment vistos"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
msgid "Cannot view"
msgstr "No es pot mostrar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
msgid "Format unavailable"
msgstr "Format no disponible"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
msgid "Selected books have no formats"
msgstr "Els llibre seleccionats no tenen format"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
msgid "Choose the format to view"
msgstr "Trieu el format de visualització"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
msgid ""
"Not all the selected books were available in the %s format. You should "
"convert them first."
@@ -5614,11 +5740,11 @@ msgstr ""
"No tots els llibres seleccionats estan disponibles en el format %s. Els "
"hauríeu de convertir abans."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
msgid "Multiple Books Selected"
msgstr "S'ha seleccionat múltiples llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@@ -5629,11 +5755,15 @@ msgstr ""
"lent i tenir un efecte negatiu a la resposta del vostre equip. Si s'inicia "
"el procés no es pot aturar fins que s'acabi. Voleu continuar?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
msgid "Cannot open folder"
msgstr "No es pot obrir la carpeta"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr "Aquest llibre ja no existeix a la biblioteca"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
msgid "%s has no available formats."
msgstr "No hi ha formats disponibles a %s."
@@ -5879,8 +6009,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1195
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:390
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
msgid "Path"
msgstr "Camí"
@@ -5890,17 +6020,17 @@ msgstr "Camí"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:389
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:124
msgid "Formats"
msgstr "Formats"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1198
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
msgid "Collections"
msgstr "Col·leccions"
@@ -5910,14 +6040,15 @@ msgid "Click to open"
msgstr "Feu clic per obrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:57
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:375
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:387
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1204
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1208
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1211
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1215
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:351
msgid "None"
msgstr "Cap"
@@ -6020,7 +6151,7 @@ msgstr "sortida"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:86
@@ -6032,6 +6163,7 @@ msgstr "sortida"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123
msgid "Form"
msgstr "Formulari"
@@ -6968,38 +7100,38 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:171
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:666
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:677
msgid "Choose cover for "
msgstr "Tria portada per a "
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:674
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:685
msgid "Cannot read"
msgstr "No es pot llegir"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686
msgid "You do not have permission to read the file: "
msgstr "No teniu permís per llegir el fitxer: "
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:187
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Error reading file"
msgstr "Error en llegir el fitxer"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:188
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:684
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "
"
msgstr "
"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:196
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:705
msgid " is not a valid picture"
msgstr " no és una imatge vàlida"
@@ -7064,6 +7196,7 @@ msgstr "Etique&tes: "
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:859
msgid ""
"Tags categorize the book. This is particularly useful while searching. "
"
They can be any words or phrases, separated by commas."
@@ -7075,7 +7208,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307
msgid "&Series:"
msgstr "&Sèrie:"
@@ -7085,7 +7218,7 @@ msgstr "&Sèrie:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306
msgid "List of known series. You can add new series."
msgstr "Llista de les sèries conegudes. Podeu afegir-ne de noves."
@@ -7277,6 +7410,7 @@ msgid "Occurrences:"
msgstr "Vegades:"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64
msgid "0"
msgstr "0"
@@ -7371,6 +7505,7 @@ msgstr "Opcions específiques per al format d'entrada."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61
msgid "Dialog"
msgstr "Diàleg"
@@ -7725,7 +7860,7 @@ msgstr "No s'ha pogut carregar el navegador de portades"
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:215
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:248
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:252
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1031
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1042
msgid "Undefined"
msgstr "Sense definir"
@@ -7795,7 +7930,7 @@ msgid "tags to remove"
msgstr "etiquetes que se suprimiran"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45
-#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
msgid "No details available."
msgstr "No hi ha detalls disponibles"
@@ -7874,7 +8009,7 @@ msgstr "Expulsa el dispositiu"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
msgid "Error"
msgstr "Error"
@@ -7885,7 +8020,7 @@ msgstr "Error a la comunicació amb el dispositiu"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
msgid "No suitable formats"
msgstr "No hi ha formats adequats"
@@ -8384,7 +8519,8 @@ msgstr "Trieu un format"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1201
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_plugin.py:195
msgid "Format"
msgstr "Format"
@@ -8579,9 +8715,9 @@ msgstr "Ubicació"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:321
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
@@ -8617,12 +8753,12 @@ msgid "Author sort"
msgstr "Ordre per autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1434
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
msgid "Invalid author name"
msgstr "El nom de l'autor no és vàlid"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1435
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
msgid "Author names cannot contain & characters."
msgstr "Els noms d'autor no poden contenir caràcters &."
@@ -8671,7 +8807,7 @@ msgid "Author Sort"
msgstr "Ordre per autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
msgid "ISBN"
msgstr "ISBN"
@@ -8760,7 +8896,7 @@ msgstr ""
"Baixa les metadades &socials (etiquetes, valoracions...) per al llibre "
"seleccionat"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
msgid "Details of job"
msgstr "Detalls de la tasca"
@@ -8941,36 +9077,36 @@ msgstr ""
msgid "S/R TEMPLATE ERROR"
msgstr "ERROR DE CERCA/REEMPLAÇA A LA PLANTILLA"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
msgstr "Heu d'especificar una destinació quant la font és un camp compost"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
msgid "You must specify a destination identifier type"
msgstr "Heu d'especificar un tipus d'identificador de destí"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:759
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:905
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
msgid "Search/replace invalid"
msgstr "Cerca/reemplaça no vàlid"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:760
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
msgid ""
"Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
"Autors no pot deixar-se en blanc. No s'ha processat el llibre amb el títol %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:779
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
"Títol no pot deixar-se en blanc. No s'ha processat el llibre amb el títol %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
msgid "Search pattern is invalid: %s"
msgstr "El patró de cerca no és vàlid: %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:958
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
@@ -8978,25 +9114,25 @@ msgstr ""
"S'està aplicant els canvis a %d llibres.\n"
"Fase {0} {1}%%."
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:988
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr "Suprimeix el cerca/reemplaça desat"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:989
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr "Es suprimirà el cerca/reemplaça desat. N'esteu segur?"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1014
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
msgid "Save search/replace"
msgstr "Desa el cerca/reemplaça"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
msgid "Search/replace name:"
msgstr "Nom del cerca/reemplaça:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
msgid ""
"That saved search/replace already exists and will be overwritten. Are you "
"sure?"
@@ -9029,7 +9165,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:817
msgid "&Rating:"
msgstr "&Valoració:"
@@ -9037,7 +9173,7 @@ msgstr "&Valoració:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:818
msgid "Rating of this book. 0-5 stars"
msgstr "Valoració d'aquest llibre: 0-5 estrelles"
@@ -9058,7 +9194,7 @@ msgstr "Afegeix les eti&quetes "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:152
msgid "Open Tag Editor"
msgstr "Obre l'editor d'etiquetes"
@@ -9122,7 +9258,7 @@ msgstr "&Força que els nombres comencin per:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1026
msgid "&Date:"
msgstr "&Data:"
@@ -9208,14 +9344,14 @@ msgstr "Estableix a partir del(s) fitxer(s) del llibre"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:465
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:591
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:613
msgid "&Basic metadata"
msgstr "Metadades &bàsiques"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:466
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:467
msgid "&Custom metadata"
msgstr "&Personalitza les metadades"
@@ -9409,38 +9545,38 @@ msgstr "Modificat per darrer cop: %s"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:268
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:285
msgid "Could not read cover"
msgstr "No s'ha pogut llegir la portada"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:279
msgid "Could not read cover from %s format"
msgstr "No s'ha pogut llegir la portada del format %s"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:286
msgid "The cover in the %s format is invalid"
msgstr "La portada del format %s no és vàlida"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:158
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777
msgid "Cover size: %dx%d pixels"
msgstr "Mida de la portada: %dx%d píxels"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:704
msgid "Not a valid picture"
msgstr "La imatge no és vàlida"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:214
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:728
msgid "Specify title and author"
msgstr "Indiqueu el títol i l'autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:729
msgid "You must specify a title and author before generating a cover"
msgstr "Heu d'indicar un títol i un autor abans de generar una portada"
@@ -9487,39 +9623,39 @@ msgid "The cover is not a valid picture"
msgstr "La portada no és una imatge vàlida"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:307
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:543
msgid "Choose formats for "
msgstr "Trieu els formats per a "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:338
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:564
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:575
msgid "No permission"
msgstr "No està permès"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:339
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:576
msgid "You do not have permission to read the following files:"
msgstr "No teniu permís per accedit els fitxers següents:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:366
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:367
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:595
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:596
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
msgid "No format selected"
msgstr "No s'ha seleccionat cap format"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:378
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:607
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:618
msgid "Could not read metadata"
msgstr "No s'ha pogut llegir les metadades"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:379
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Could not read metadata from %s format"
msgstr "No s'ha pogut llegir les metadades del format %s"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233
msgid ""
" The green color indicates that the current author sort matches the current "
"author"
@@ -9527,7 +9663,7 @@ msgstr ""
" El color verd indica que l'ordre per autor i l'autor actuals coincideixen"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:236
msgid ""
" The red color indicates that the current author sort does not match the "
"current author. No action is required if this is what you want."
@@ -9554,7 +9690,7 @@ msgstr ""
"títol actual. No cal fer res si és això el que voleu."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:54
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
@@ -9563,13 +9699,13 @@ msgstr "Anterior"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:484
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:420
msgid "Save changes and edit the metadata of %s"
msgstr "Desa els canvis i edita les metadades de %s"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:481
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:50
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:820
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
@@ -9579,22 +9715,22 @@ msgstr "Següent"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:690
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:695
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:954
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965
msgid "This ISBN number is valid"
msgstr "El nombre d'ISBN és vàlid"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:698
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:957
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:968
msgid "This ISBN number is invalid"
msgstr "El nombre d'ISBN no és vàlid"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:783
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:894
msgid "Tags changed"
msgstr "S'ha canviat les etiquetes"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:784
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895
msgid ""
"You have changed the tags. In order to use the tags editor, you must either "
"discard or apply these changes. Apply changes?"
@@ -9632,12 +9768,12 @@ msgstr ""
"Heu d'especificar almenys un d'aquests: ISBN, títol, autors o editorial"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:961
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362
msgid "Permission denied"
msgstr "S'ha denegat el permís"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:962
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:363
msgid "Could not open %s. Is it being used by another program?"
msgstr "No s'ha pogut obrir %s. L'està fent servir un altre programa?"
@@ -9650,7 +9786,7 @@ msgid "Meta information"
msgstr "Metadades"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:95
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:96
msgid ""
"Automatically create the title sort entry based on the current title entry.\n"
"Using this button to create title sort will change title sort from red to "
@@ -9662,7 +9798,7 @@ msgstr ""
"títol de vermell a verd."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:122
msgid "Swap the author and title"
msgstr "Intercanvia l'autor i el títol"
@@ -9709,7 +9845,7 @@ msgstr ""
"individuals. Si està en vermell, els autors i el text no coincideixen."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
msgid "Remove unused series (Series that have no books)"
msgstr "Suprimeix les sèries que no es fan servir (sèries sense llibres)"
@@ -9722,7 +9858,7 @@ msgid "dd MMM yyyy"
msgstr "dd MMM yyyy"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1066
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077
msgid "Publishe&d:"
msgstr "Pu&blicació:"
@@ -9731,7 +9867,7 @@ msgid "&Fetch metadata from server"
msgstr "Recull les &metadades del servidor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
msgid "&Browse"
msgstr "&Navega"
@@ -9740,7 +9876,7 @@ msgid "Remove border (if any) from cover"
msgstr "Suprimeix el marc (si n'hi ha) de la portada"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:640
msgid "T&rim"
msgstr "&Retalla"
@@ -9749,12 +9885,12 @@ msgid "Reset cover to default"
msgstr "Torna a la portada per defecte"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:642
msgid "&Remove"
msgstr "Sup&rimeix"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:648
msgid "Download co&ver"
msgstr "Baixa la &portada"
@@ -9763,7 +9899,7 @@ msgid "Generate a default cover based on the title and author"
msgstr "Genera una portada per defecte a partir del títol i l'autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:455
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:649
msgid "&Generate cover"
msgstr "&Genera la portada"
@@ -9781,7 +9917,7 @@ msgstr ""
"Suprimeix els formats seleccionats d'aquest llibre de la base de dades."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:461
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:450
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:461
msgid "Set the cover for the book from the selected format"
msgstr "Estableix la portada a partir de la del format seleccionat"
@@ -9790,7 +9926,7 @@ msgid "Update metadata from the metadata in the selected format"
msgstr "Actualitza les metadades a partir de les del format seleccionat"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:464
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:678
msgid "&Comments"
msgstr "&Comentaris"
@@ -10304,7 +10440,7 @@ msgid "&Author:"
msgstr "&Autor:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:858
msgid "Ta&gs:"
msgstr "Eti&quetes:"
@@ -10340,6 +10476,7 @@ msgid "Choose formats"
msgstr "Tria de formats"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:145
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
msgid "Authors"
msgstr "Autors"
@@ -10506,12 +10643,12 @@ msgid "%s (was %s)"
msgstr "%s (era %s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1380
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
msgid "Item is blank"
msgstr "L'element està en blanc"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1381
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "No es pot deixar un element en blanc. En tot cas l'heu d'esborrar."
@@ -10841,60 +10978,80 @@ msgstr "No s'ha pogut baixar"
msgid "Failed to download from %r with error: %s"
msgstr "No s'ha pogut baixar de %r. Hi ha hagut l'error: %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr "No s'ha especificat cap llibre per baixar."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr "No és un suport de format de llibre."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr "S'està baixant %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr "Baixada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr "No s'ha pogut baixar el llibre"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
msgstr "Envia per correu electrònic %s a %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
msgid "News:"
msgstr "Notícies:"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
msgid "Attached is the %s periodical downloaded by calibre."
msgstr "S'adjunta el diari %s baixat pel calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
msgid "E-book:"
msgstr "Llibre:"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
msgid "Attached, you will find the e-book"
msgstr "Hi trobareu el llibre adjunt"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:185
msgid "by"
msgstr "per"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
msgid "in the %s format."
msgstr "en el format %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
msgid "Sending email to"
msgstr "S'està enviant correu electrònic a"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
msgid "Auto convert the following books before sending via email?"
msgstr ""
"S'ha de convertir automàticament els llibres següents abans d'enviar-los per "
"correu electrònic?"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
msgid ""
"Could not email the following books as no suitable formats were found:"
msgstr ""
"No s'ha pogut enviar aquests llibres perquè no s'ha trobat formats adequats:"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
msgid "Failed to email book"
msgstr "No s'ha pogut enviar el llibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
msgid "sent"
msgstr "s'ha enviat"
-#: /home/kovid/work/calibre/src/calibre/gui2/email.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
msgid "Sent news to"
msgstr "S'ha enviat notícies a"
@@ -10917,10 +11074,10 @@ msgstr ""
"
"
msgstr "Feu doble clic per a edittar>/b>
-me"
@@ -11302,7 +11456,7 @@ msgstr "Mostra la columna"
msgid "Restore default layout"
msgstr "Restaura la disposició per defecte"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:790
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:832
msgid ""
"Dropping onto a device is not supported. First add the book to the calibre "
"library."
@@ -11363,6 +11517,7 @@ msgid "Previous Page"
msgstr "Pàgina anterior"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
msgid "Back"
msgstr "Enrere"
@@ -11552,11 +11707,11 @@ msgstr "&Ordre per títol"
msgid "Author s&ort:"
msgstr "O&rdre per autor:"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:363
msgid "&Number:"
msgstr "&Nombre:"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:444
msgid ""
"Last modified: %s\n"
"\n"
@@ -11566,35 +11721,27 @@ msgstr ""
"\n"
"Feu doble clic per visualitzar"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:736
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:747
msgid "Invalid cover"
msgstr "Portada no vàlida"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:748
msgid "Could not change cover as the image is invalid."
msgstr "No s'ha canviat la portada perquè la imatge no és vàlida."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:775
msgid "This book has no cover"
msgstr "El llibre no té portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:825
msgid "stars"
msgstr "estrelles"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:848
-msgid ""
-"Tags categorize the book. This is particularly useful while searching. "
-"
They can be any wordsor phrases, separated by commas."
-msgstr ""
-"Etiquetes per categoritzar un llibre. És útil sobretot per a una cerca. "
-"
Pot ser qualsevol paraula o frase, separades per comes."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:918
msgid "I&ds:"
msgstr "I&ds:"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:919
msgid ""
"Edit the identifiers for this book. For example: \n"
"\n"
@@ -11604,11 +11751,11 @@ msgstr ""
"\n"
"%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:975
msgid "&Publisher:"
msgstr "&Editorial:"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1045
msgid "Clear date"
msgstr "Suprimeix la data"
@@ -11620,10 +11767,6 @@ msgstr "El llibre no té títol ni ISBN"
msgid "No matches found for this book"
msgstr "No s'ha trobat cap coincidència d'aquest llibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:187
-msgid "Failed to download metadata"
-msgstr "No s'ha pogut baixar les metadades"
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:227
msgid "cover"
msgstr "portada"
@@ -11654,33 +11797,179 @@ msgstr "S'ha baixat amb èxit les metadades de %d de %d llibres"
msgid "Details"
msgstr "Detalls"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:34
+msgid "Schedule download?"
+msgstr "Es vol planificar la baixada?"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:35
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+"La baixada de metadades per als %d llibre(s) seleccionat(s) "
+"s'executarà en un segon pla. Endavant??"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:37
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+"Podeu controlar el progrés de la descàrrega fent clic a la rodeta giratòria "
+"de la cantonada inferior esquerra."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:40
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+"Quan s'acabi la baixada es demanarà una confirmació abans que el calibre "
+"apliqui les metadades baixades."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:43
+msgid "Configure download"
+msgstr "Configura la baixada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:54
+msgid "Download metadata for %d books"
+msgstr "Baixa metadades per a %d llibres"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:57
+msgid "Metadata download started"
+msgstr "Ha començat la baixada de metadades"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr "Copia-ho al porta-retalls"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
+msgid "Download log"
+msgstr "Registre de baixades"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:103
+msgid "Applying downloaded metadata to your library"
+msgstr "S'està aplicant les metadades baixades a la biblioteca"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:172
+msgid "Some failures"
+msgstr "Alguns errors"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:173
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+"No s'ha pogut aplicar les metadades actualitzades a algun dels llibres de la "
+"biblioteca. Feu clic a «Mostra detalls» per veure els detalls."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:212
+msgid "Some books changed"
+msgstr "Alguns llibres han canviat"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:213
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+"Les metadades d'alguns dels llibres de la biblioteca han canviat després de "
+"començar la baixada. Si continueu pot ser que es sobreescrigui algun "
+"d'aquests canvis. Feu clic a «Mostra detalls» per veure la llista dels "
+"llibres canviats. Voleu continuar?"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:224
+msgid "Metadata download completed"
+msgstr "S'ha acabat la baixada de metadades"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:228
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+"No s'ha pogut baixar les metadades i/o portades de %d dels llibres. Feu clic "
+"a «Mostra detalls» per veure quins llibres són."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:234
+msgid "(Failed metadata)"
+msgstr "(Error a les metadades)"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:236
+msgid "(Failed cover)"
+msgstr "(Error a la portada)"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:238
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+"S'ha acabat de baixar les metadades de %d llibre(s). S'ha de "
+"continuar actualitzant les metadades de la biblioteca?"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:240
+msgid "Download complete"
+msgstr "S'ha acabat la baixada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
+msgid "View log"
+msgstr "Mostra el registre"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download2.py:315
+msgid "Downloaded %d of %d"
+msgstr "S'ha baixat %d de %d"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:106
+msgid "Downloaded metadata fields"
+msgstr "Camps de metadades descarregats"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:237
msgid "Edit Metadata"
msgstr "Edita les metadades"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid "Set author sort from author"
+msgstr "Estableix l'ordre per autor a partir de l'autor"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:113
+msgid "Set author from author sort"
+msgstr "Estableix l'autor a partir de l'ordre per autor"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:168
msgid "&Download metadata"
msgstr "&Baixa les metadades"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:487
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid "Change how calibre downloads metadata"
+msgstr "Canvia com el calibre baixa les metadades"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:508
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:697
msgid "Change cover"
msgstr "Canvia la portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:557
msgid "Co&mments"
msgstr "Co&mentaris"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:574
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:596
msgid "&Metadata"
msgstr "&Metadades"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601
msgid "&Cover and formats"
msgstr "&Portada i formats"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:620
+msgid "Configure metadata downloading"
+msgstr "Configura la baixada de metadades"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:666
msgid "C&ustom metadata"
msgstr "Metadades &personalitzades"
@@ -11766,25 +12055,11 @@ msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
"S'han trobat %d portades per a %s. Trieu la que us agradi més."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
-msgid "Copy to clipboard"
-msgstr "Copia-ho al porta-retalls"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:773
-msgid "Download log"
-msgstr "Registre de baixades"
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:809
msgid "Downloading metadata..."
msgstr "Descàrrega de les metadades..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:827
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:918
-msgid "View log"
-msgstr "Mostra el registre"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
msgid ""
"Restore settings to default values. You have to click Apply to actually save "
"the default settings."
@@ -11792,6 +12067,10 @@ msgstr ""
"Restaura els paràmetres als valors per defecte. Heu de fer clic a 'Aplica' "
"per tal de desar els paràmetres per defecte."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr "Configura "
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
msgid "Ignore duplicate incoming formats"
msgstr "Ignora els formats entrants duplicats"
@@ -12133,9 +12412,9 @@ msgid "Ratings, shown with stars"
msgstr "Valoracions, es mostren amb estrelles"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
msgid "Yes/No"
msgstr "Sí/No"
@@ -12143,70 +12422,75 @@ msgstr "Sí/No"
msgid "Column built from other columns"
msgstr "Columna generada a partir d'altres columnes"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+"Columna generada a partir d'altres columnes, es comporta com les etiquetes"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
msgid "Create a custom column"
msgstr "Crea una columna personalitzada"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
msgid "Quick create:"
msgstr "Creació ràpida:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:153
msgid "Modified Date"
msgstr "Data de modificació"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:66
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
msgid "People's names"
msgstr "Noms de les persones"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Number"
msgstr "Nombre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
msgid "Text"
msgstr "Text"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:86
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
msgstr "Modifica una columna personalitzada"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
msgstr "No s'ha seleccionat cap columna"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
msgid "No column has been selected"
msgstr "No s'ha seleccionat cap columna"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
msgid "Selected column is not a user-defined column"
msgstr "La columna seleccionada no és una columna definida per l'usuari"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
msgid "My Tags"
msgstr "Les meves etiquetes"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:151
msgid "My Series"
msgstr "La meva sèrie"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:152
msgid "My Rating"
msgstr "La meva valoració"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:154
msgid "People"
msgstr "Persones"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
msgid "No lookup name was provided"
msgstr "No s'ha donat cap nom per a la cerca"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
"The lookup name must contain only lower case letters, digits and "
"underscores, and start with a letter"
@@ -12214,7 +12498,7 @@ msgstr ""
"El nom de la cerca només ha de contenir minúscules, números i barres baixes, "
"i ha de començar amb una lletra"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid ""
"Lookup names cannot end with _index, because these names are reserved for "
"the index of a series column."
@@ -12222,31 +12506,31 @@ msgstr ""
"Els noms de cerca no poden acabar en _index perquè aquests noms estan "
"reservats per als índexs d'una columna de sèrie."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:200
msgid "No column heading was provided"
msgstr "No s'ha donat cap encapçalament de columna"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:210
msgid "The lookup name %s is already used"
msgstr "El nom de cerca %s ja existeix"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:222
msgid "The heading %s is already used"
msgstr "L'encapçalament %s ja existeix"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:233
msgid "You must enter a template for composite columns"
msgstr "Heu d'introduir una plantilla per a les columnes compostes"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
msgid "You must enter at least one value for enumeration columns"
msgstr "S'ha d'introduir almenys un valor per a les columnes d'enumeració"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
msgid "You cannot provide the empty value, as it is included by default"
msgstr "No es pot deixar el valor buit perquè s'inclou per defecte"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:250
msgid "The value \"{0}\" is in the list more than once"
msgstr "El valor «{0}» està més d'un cop a la llista"
@@ -12677,19 +12961,43 @@ msgstr ""
msgid "Restart needed"
msgstr "Cal reiniciar"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
msgid "Source"
msgstr "Origen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
msgid "Cover priority"
msgstr "Prioritat de la portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:75
+msgid "This source is configured and ready to go"
+msgstr "Aquest origen està configurat i preparat per funcionar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source needs configuration"
+msgstr "Cal configurar aquest origen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+msgid "Published date"
+msgstr "Data de publicació"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:229
+msgid "Configure %s
%s"
+msgstr "Configura %s
%s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:277
+msgid "No source selected"
+msgstr "No s'ha seleccionat cap origen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:278
+msgid "No source selected, cannot configure."
+msgstr "No s'ha seleccionat cap origen, no es pot configurar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
msgid "Metadata sources"
msgstr "Orígens de les metadades"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
msgid ""
"Disable any metadata sources you do not want by unchecking them. You can "
"also set the cover priority. Covers from sources that have a higher "
@@ -12700,40 +13008,48 @@ msgstr ""
"d'orígens amb una prioritat més alta (més petita) quan es baixin metadades "
"en massa.\n"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+"Cal configurar els orígens amb una X vermella a costat dels seus noms abans "
+"de poder-los utilitzar. "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105
msgid "Configure selected source"
msgstr "Configura l'origen seleccionat"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:97
-msgid "Downloaded metadata fields"
-msgstr "Camps de metadades descarregats"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:107
msgid ""
"If you uncheck any fields, metadata for those fields will not be downloaded"
msgstr ""
"Si desmarqueu algun camp no es baixaran les metadades d'aquests camps"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:99
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:108
msgid "Convert all downloaded comments to plain &text"
msgstr "Converteix tots els comentaris baixats a &text net"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109
+msgid "Swap author names from FN LN to LN, FN"
+msgstr "Inverteix els noms d'autors de «nom, cognom» a «cognom, nom»"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Max. number of &tags to download:"
msgstr "Número màxim d'&etiquetes que es descarregaran:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
msgid "Max. &time to wait after first match is found:"
msgstr ""
"&Temps màxim d'espera després que s'hagi trobat la primer coincidència:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:102
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
msgid " secs"
msgstr " segons"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
msgid "Max. time to wait after first &cover is found:"
msgstr "Temps màxim d'espera després que es trobi la primera &portada:"
@@ -12899,19 +13215,19 @@ msgstr ""
msgid "Search for plugin"
msgstr "Cerca un connector"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:225
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
msgid "No matches"
msgstr "Cap coincidència"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:226
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:227
msgid "Could not find any matching plugins"
msgstr "No s'ha trobat cap connector que coincideixi"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:267
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:268
msgid "Add plugin"
msgstr "Afegeix un connector"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276
msgid ""
"Installing plugins is a security risk. Plugins can contain a "
"virus/malware. Only install it if you got it from a trusted source. Are you "
@@ -12921,7 +13237,7 @@ msgstr ""
"connectors poden contenir virus o programari maliciós. Instal·leu-los només "
"si els heu aconseguit d'una font de confiança. Voleu continuar?"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:288
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
@@ -12929,53 +13245,53 @@ msgstr ""
"S'ha instal·lat el connector {0} sota connectors {1} amb "
"èxit. Potser caldrà reiniciar el calibre per activar el connector."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "No valid plugin path"
msgstr "No hi ha una ruta de connectors vàlida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:297
msgid "%s is not a valid plugin path"
msgstr "%s no és una ruta de connectors vàlida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:306
msgid "Select an actual plugin under %s to customize"
msgstr "Seleccioneu un connector existent per personalitzar-lo a %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
msgid "Plugin cannot be disabled"
msgstr "No es pot inhabilitar el connector"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
msgid "The plugin: %s cannot be disabled"
msgstr "El connector %s no es pot inhabilitar"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
msgid "Plugin not customizable"
msgstr "El connector no es pot personalitzar"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324
msgid "Plugin: %s does not need customization"
msgstr "El connector %s no necessita personalització"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
msgid "Must restart"
msgstr "Cal reiniciar"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
"S'ha de reiniciar el calibre abans si voleu configurar el connector %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:336
msgid "Plugin {0} successfully removed"
msgstr "S'ha suprimit el connector {0} correctament"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Cannot remove builtin plugin"
msgstr "No es pot suprimir un complement integrat"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:345
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
msgstr ""
" no es pot suprimir. És un connector integrat. Intenteu inhabilitar-lo."
@@ -13327,7 +13643,7 @@ msgstr ""
"Preferències->Avançat->Connectors"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:382
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:418
msgid "Failed to start content server"
msgstr "No s'ha pogut iniciar el servidor de continguts"
@@ -13727,15 +14043,15 @@ msgstr "Afegeix a la barra d'eines les accions seleccionades"
msgid "Remove selected actions from toolbar"
msgstr "Suprimeix les accions seleccionades de la barra d'eines"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
msgid "This tweak has it default value"
msgstr "Aquest ajustament té el seu valor per defecte"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
msgid "This tweak has been customized"
msgstr "Aquest ajustament s'ha personalitzat"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
msgid ""
"Add/edit tweaks for any custom plugins you have installed. Documentation for "
"these tweaks should be available on the website from where you downloaded "
@@ -13745,8 +14061,8 @@ msgstr ""
"instal·lats. La documentació d'aquests ajustaments hauria d'estar disponible "
"al lloc web d'on s'ha baixat els connectors."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
msgid ""
"There was a syntax error in your tweak. Click the show details button for "
"details."
@@ -13754,11 +14070,11 @@ msgstr ""
"Hi ha un error de sintaxi a l'ajustament. Feu clic al botó «Mostra detalls» "
"per als detalls."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
msgid "Invalid tweaks"
msgstr "Ajustos no vàlids"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
msgid ""
"The tweaks you entered are invalid, try resetting the tweaks to default and "
"changing them one by one until you find the invalid setting."
@@ -13800,45 +14116,43 @@ msgstr "Restaura els valors per &defecte"
msgid "Apply any changes you made to this tweak"
msgstr "Aplica els canvis que s'ha fet a l'ajustament"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:93
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:277
-#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:653
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280
-msgid "Search"
-msgstr "Cerca"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:321
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-"La cerca seleccionada se suprimirà permanentment
\n"
" Quitting may cause corruption on the device.
\n"
@@ -14242,11 +14649,11 @@ msgstr ""
" Si sortiu podeu malmetre el dispositiu.
\n"
" Segur que voleu sortir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
msgid "Active jobs"
msgstr "Tasques actives"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:653
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:689
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -15183,53 +15590,53 @@ msgid "Turn on the &content server"
msgstr "Engega el servidor de &continguts"
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "checked"
msgstr "activat"
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:565
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "yes"
msgstr "sí"
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
msgid "unchecked"
msgstr "desactivat"
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:562
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:192
msgid "no"
msgstr "no"
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:356
msgid "today"
msgstr "avui"
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:358
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:359
msgid "yesterday"
msgstr "ahir"
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:362
msgid "thismonth"
msgstr "aquest mes"
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
#: /home/kovid/work/calibre/src/calibre/library/caches.py:365
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:366
msgid "daysago"
msgstr "fa dies"
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "blank"
msgstr "en blanc"
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
msgid "empty"
msgstr "buit"
@@ -16342,11 +16749,11 @@ msgstr ""
"\n"
"Per aconseguir ajuda per a un comandament: %%prog comandament --help\n"
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:591
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
msgid "No label was provided"
msgstr "No s'ha donat cap etiqueta"
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:593
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
msgid ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
@@ -16358,20 +16765,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sLa valoració mitjana és %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1012
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1014
msgid "Main"
msgstr "Inici"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3056
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3074
msgid "