diff --git a/COPYRIGHT b/COPYRIGHT
index 85d70a8aa8..5644a52f69 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -79,13 +79,6 @@ License: GPL2+
The full text of the GPL is distributed as in
/usr/share/common-licenses/GPL-2 on Debian systems.
-Files: src/pyPdf/*
-Copyright: Copyright (c) 2006, Mathieu Fenniak
-Copyright: Copyright (c) 2007, Ashish Kulkarni (%s)
', re.IGNORECASE), lambda m: ''), (re.compile(r'
', re.IGNORECASE), lambda m: '')]
feeds = [(u'Ελλάδα', 'http://tvxs.gr/feeds/2/feed.xml'),
(u'Κόσμος', 'http://tvxs.gr/feeds/5/feed.xml'),
@@ -35,17 +47,10 @@ class TVXS(BasicNewsRecipe):
(u'Ιστορία', 'http://tvxs.gr/feeds/1573/feed.xml'),
(u'Χιούμορ', 'http://tvxs.gr/feeds/692/feed.xml')]
-
def print_version(self, url):
- import urllib2, urlparse, StringIO, gzip
-
- fp = urllib2.urlopen(url)
- data = fp.read()
- if fp.info()['content-encoding'] == 'gzip':
- gzip_data = StringIO.StringIO(data)
- gzipper = gzip.GzipFile(fileobj=gzip_data)
- data = gzipper.read()
- fp.close()
+ br = self.get_browser()
+ response = br.open(url)
+ data = response.read()
pos_1 = data.find(')'),
lambda m: '
You should use this tool as the last step in your ebook creation process.
- -Note that polishing only works on files in the %s formats.
+{0} +Note that polishing only works on files in the %s formats.
\ ''')%_(' or ').join('%s'%x for x in SUPPORTED), 'subset': _('''\ @@ -69,7 +69,7 @@ 'jacket': _('''\Insert a "book jacket" page at the start of the book that contains all the book metadata such as title, tags, authors, series, comments, -etc.
'''), +etc. Any previous book jacket will be replaced.'''), 'remove_jacket': _('''\Remove a previous inserted book jacket page.
@@ -85,7 +85,7 @@ def hfix(name, raw): if name == 'about': - return raw + return raw.format('') raw = raw.replace('\n\n', '__XX__') raw = raw.replace('\n', ' ') raw = raw.replace('__XX__', '\n') @@ -175,7 +175,7 @@ def gui_polish(data): if not data.pop('metadata'): data.pop('opf') if not data.pop('do_cover'): - data.pop('cover') + data.pop('cover', None) file_map = {x:x for x in files} opts = ALL_OPTS.copy() opts.update(data) diff --git a/src/calibre/ebooks/oeb/reader.py b/src/calibre/ebooks/oeb/reader.py index d0474fa7e8..eb7e2eca4c 100644 --- a/src/calibre/ebooks/oeb/reader.py +++ b/src/calibre/ebooks/oeb/reader.py @@ -24,6 +24,7 @@ urlnormalize, BINARY_MIME, \ OEBError, OEBBook, DirContainer from calibre.ebooks.oeb.writer import OEBWriter +from calibre.utils.cleantext import clean_xml_chars from calibre.utils.localization import get_lang from calibre.ptempfile import TemporaryDirectory from calibre.constants import __appname__, __version__ @@ -106,7 +107,7 @@ def _read_opf(self): try: opf = etree.fromstring(data) except etree.XMLSyntaxError: - data = xml_replace_entities(data, encoding=None) + data = xml_replace_entities(clean_xml_chars(data), encoding=None) try: opf = etree.fromstring(data) self.logger.warn('OPF contains invalid HTML named entities') @@ -148,7 +149,6 @@ def _metadata_from_opf(self, opf): if not has_aut: m.add('creator', self.oeb.translate(__('Unknown')), role='aut') - def _manifest_prune_invalid(self): ''' Remove items from manifest that contain invalid data. This prevents @@ -197,6 +197,8 @@ def _manifest_add_missing(self, invalid): item.media_type[-4:] in ('/xml', '+xml')): hrefs = [r[2] for r in iterlinks(data)] for href in hrefs: + if isinstance(href, bytes): + href = href.decode('utf-8') href, _ = urldefrag(href) if not href: continue @@ -293,7 +295,7 @@ def _spine_add_extra(self): continue try: href = item.abshref(urlnormalize(href)) - except ValueError: # Malformed URL + except ValueError: # Malformed URL continue if href not in manifest.hrefs: continue @@ -394,9 +396,9 @@ def _toc_from_navpoint(self, item, toc, navpoint): authorElement = xpath(child, 'descendant::calibre:meta[@name = "author"]') - if authorElement : + if authorElement: author = authorElement[0].text - else : + else: author = None descriptionElement = xpath(child, @@ -406,7 +408,7 @@ def _toc_from_navpoint(self, item, toc, navpoint): method='text', encoding=unicode).strip() if not description: description = None - else : + else: description = None index_image = xpath(child, @@ -497,7 +499,8 @@ def _toc_from_spine(self, opf): titles = [] headers = [] for item in self.oeb.spine: - if not item.linear: continue + if not item.linear: + continue html = item.data title = ''.join(xpath(html, '/h:html/h:head/h:title/text()')) title = COLLAPSE_RE.sub(' ', title.strip()) @@ -515,17 +518,21 @@ def _toc_from_spine(self, opf): if len(titles) > len(set(titles)): use = headers for title, item in izip(use, self.oeb.spine): - if not item.linear: continue + if not item.linear: + continue toc.add(title, item.href) return True def _toc_from_opf(self, opf, item): self.oeb.auto_generated_toc = False - if self._toc_from_ncx(item): return + if self._toc_from_ncx(item): + return # Prefer HTML to tour based TOC, since several LIT files # have good HTML TOCs but bad tour based TOCs - if self._toc_from_html(opf): return - if self._toc_from_tour(opf): return + if self._toc_from_html(opf): + return + if self._toc_from_tour(opf): + return self._toc_from_spine(opf) self.oeb.auto_generated_toc = True @@ -589,8 +596,10 @@ def _pages_from_page_map(self, opf): return True def _pages_from_opf(self, opf, item): - if self._pages_from_ncx(opf, item): return - if self._pages_from_page_map(opf): return + if self._pages_from_ncx(opf, item): + return + if self._pages_from_page_map(opf): + return return def _cover_from_html(self, hcover): diff --git a/src/calibre/ebooks/oeb/transforms/page_margin.py b/src/calibre/ebooks/oeb/transforms/page_margin.py index 67ba490a81..382f0c8f53 100644 --- a/src/calibre/ebooks/oeb/transforms/page_margin.py +++ b/src/calibre/ebooks/oeb/transforms/page_margin.py @@ -20,9 +20,10 @@ def __call__(self, oeb, log, opts): self.oeb, self.opts, self.log = oeb, opts, log for item in self.oeb.manifest: - if (item.media_type in ('application/vnd.adobe-page-template+xml', - 'application/vnd.adobe.page-template+xml') and - hasattr(item.data, 'xpath')): + if item.media_type in { + 'application/vnd.adobe-page-template+xml', 'application/vnd.adobe.page-template+xml', + 'application/adobe-page-template+xml', 'application/adobe.page-template+xml', + } and hasattr(item.data, 'xpath'): self.log('Removing page margins specified in the' ' Adobe page template') for elem in item.data.xpath( @@ -84,13 +85,12 @@ def get_margins(self, elem): except: pass else: - if ( (hasattr(ti, 'startswith') and ti.startswith('-')) or + if ((hasattr(ti, 'startswith') and ti.startswith('-')) or isinstance(ti, (int, float)) and ti < 0): raise NegativeTextIndent() return style.marginLeft, style.marginRight, style return '', '', None - def process_level(self, level): elems = self.levels[level] self.stats[level+'_left'] = Counter() @@ -107,7 +107,6 @@ def process_level(self, level): remove_left = self.analyze_stats(self.stats[level+'_left']) remove_right = self.analyze_stats(self.stats[level+'_right']) - if remove_left: mcl = self.stats[level+'_left'].most_common(1)[0][0] self.log('Removing level %s left margin of:'%level, mcl) diff --git a/src/calibre/ebooks/oeb/transforms/trimmanifest.py b/src/calibre/ebooks/oeb/transforms/trimmanifest.py index 3d56f0ef3d..67d55a581e 100644 --- a/src/calibre/ebooks/oeb/transforms/trimmanifest.py +++ b/src/calibre/ebooks/oeb/transforms/trimmanifest.py @@ -47,6 +47,8 @@ def __call__(self, oeb, context): item.data is not None: hrefs = [r[2] for r in iterlinks(item.data)] for href in hrefs: + if isinstance(href, bytes): + href = href.decode('utf-8') try: href = item.abshref(urlnormalize(href)) except: diff --git a/src/calibre/ebooks/pdf/render/links.py b/src/calibre/ebooks/pdf/render/links.py index 97a6551dbd..2d0b91bbfe 100644 --- a/src/calibre/ebooks/pdf/render/links.py +++ b/src/calibre/ebooks/pdf/render/links.py @@ -44,14 +44,18 @@ def add(self, base_path, start_page, links, anchors): for link in links: href, page, rect = link p, frag = href.partition('#')[0::2] - link = ((path, p, frag or None), self.pdf.get_pageref(page).obj, Array(rect)) + try: + link = ((path, p, frag or None), self.pdf.get_pageref(page).obj, Array(rect)) + except IndexError: + self.log.warn('Unable to find page for link: %r, ignoring it' % link) + continue self.links.append(link) def add_links(self): for link in self.links: path, href, frag = link[0] page, rect = link[1:] - combined_path = os.path.abspath(os.path.join(os.path.dirname(path), *href.split('/'))) + combined_path = os.path.normcase(os.path.abspath(os.path.join(os.path.dirname(path), *unquote(href).split('/')))) is_local = not href or combined_path in self.anchors annot = Dictionary({ 'Type':Name('Annot'), 'Subtype':Name('Link'), diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 4a6ff9bb93..5fcde65ff5 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -187,7 +187,7 @@ def _config(): # {{{ c.add_opt('shortcuts_search_history', default=[], help='Search history for the keyboard preferences') c.add_opt('jobs_search_history', default=[], - help='Search history for the keyboard preferences') + help='Search history for the tweaks preferences') c.add_opt('tweaks_search_history', default=[], help='Search history for tweaks') c.add_opt('worker_limit', default=6, @@ -716,10 +716,11 @@ def choose_save_file(window, name, title, filters=[], all_files=True): ans = ans[0] return ans -def choose_images(window, name, title, select_only_single_file=True): +def choose_images(window, name, title, select_only_single_file=True, + formats=('png', 'gif', 'jpg', 'jpeg', 'svg')): mode = QFileDialog.ExistingFile if select_only_single_file else QFileDialog.ExistingFiles fd = FileDialog(title=title, name=name, - filters=[('Images', ['png', 'gif', 'jpeg', 'jpg', 'svg'])], + filters=[('Images', list(formats))], parent=window, add_all_files_filter=False, mode=mode, ) fd.setParent(None) diff --git a/src/calibre/gui2/actions/choose_library.py b/src/calibre/gui2/actions/choose_library.py index d38c16ddf3..0d096d66bd 100644 --- a/src/calibre/gui2/actions/choose_library.py +++ b/src/calibre/gui2/actions/choose_library.py @@ -116,11 +116,12 @@ def __init__(self, stats, location, parent=None): self.cd.setIcon(QIcon(I('document_open.png'))) self.cd.clicked.connect(self.choose_dir) l.addWidget(self.cd, 2, 1, 1, 1) - self.bb = QDialogButtonBox(self) + self.bb = QDialogButtonBox(QDialogButtonBox.Abort) b = self.bb.addButton(_('Library moved'), self.bb.AcceptRole) b.setIcon(QIcon(I('ok.png'))) b = self.bb.addButton(_('Forget library'), self.bb.RejectRole) b.setIcon(QIcon(I('edit-clear.png'))) + b.clicked.connect(self.forget_library) self.bb.accepted.connect(self.accept) self.bb.rejected.connect(self.reject) l.addWidget(self.bb, 3, 0, 1, ncols) @@ -132,9 +133,8 @@ def choose_dir(self): if d is not None: self.loc.setText(d) - def reject(self): + def forget_library(self): self.stats.remove(self.location) - QDialog.reject(self) def accept(self): newloc = unicode(self.loc.text()) diff --git a/src/calibre/gui2/actions/copy_to_library.py b/src/calibre/gui2/actions/copy_to_library.py index 15155990a0..8465cb98f0 100644 --- a/src/calibre/gui2/actions/copy_to_library.py +++ b/src/calibre/gui2/actions/copy_to_library.py @@ -10,8 +10,7 @@ from threading import Thread from contextlib import closing -from PyQt4.Qt import (QToolButton, QDialog, QGridLayout, QIcon, QLabel, - QCheckBox, QDialogButtonBox) +from PyQt4.Qt import (QToolButton, QDialog, QGridLayout, QIcon, QLabel, QDialogButtonBox) from calibre.gui2.actions import InterfaceAction from calibre.gui2 import (error_dialog, Dispatcher, warning_dialog, gprefs, @@ -21,7 +20,7 @@ from calibre.utils.config import prefs, tweaks from calibre.utils.date import now -class Worker(Thread): # {{{ +class Worker(Thread): # {{{ def __init__(self, ids, db, loc, progress, done, delete_after): Thread.__init__(self) @@ -71,8 +70,10 @@ def _doit(self, newdb): mi.timestamp = now() self.progress(i, mi.title) fmts = self.db.formats(x, index_is_id=True) - if not fmts: fmts = [] - else: fmts = fmts.split(',') + if not fmts: + fmts = [] + else: + fmts = fmts.split(',') paths = [] for fmt in fmts: p = self.db.format(x, fmt, index_is_id=True, @@ -82,7 +83,7 @@ def _doit(self, newdb): automerged = False if prefs['add_formats_to_existing']: identical_book_list = newdb.find_identical_books(mi) - if identical_book_list: # books with same author and nearly same title exist in newdb + if identical_book_list: # books with same author and nearly same title exist in newdb self.auto_merged_ids[x] = _('%(title)s by %(author)s')%\ dict(title=mi.title, author=mi.format_field('authors')[1]) automerged = True @@ -127,7 +128,7 @@ def _doit(self, newdb): # }}} -class ChooseLibrary(QDialog): # {{{ +class ChooseLibrary(QDialog): # {{{ def __init__(self, parent): super(ChooseLibrary, self).__init__(parent) @@ -146,12 +147,19 @@ def __init__(self, parent): b.setToolTip(_('Browse for library')) b.clicked.connect(self.browse) l.addWidget(b, 0, 2) - self.c = c = QCheckBox(_('&Delete after copy')) - l.addWidget(c, 1, 0, 1, 3) - self.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel) + self.bb = bb = QDialogButtonBox(QDialogButtonBox.Cancel) bb.accepted.connect(self.accept) bb.rejected.connect(self.reject) - l.addWidget(bb, 2, 0, 1, 3) + self.delete_after_copy = False + b = bb.addButton(_('&Copy'), bb.AcceptRole) + b.setIcon(QIcon(I('edit-copy.png'))) + b.setToolTip(_('Copy to the specified library')) + b2 = bb.addButton(_('&Move'), bb.AcceptRole) + b2.clicked.connect(lambda: setattr(self, 'delete_after_copy', True)) + b2.setIcon(QIcon(I('edit-cut.png'))) + b2.setToolTip(_('Copy to the specified library and delete from the current library')) + b.setDefault(True) + l.addWidget(bb, 1, 0, 1, 3) le.setMinimumWidth(350) self.resize(self.sizeHint()) @@ -163,7 +171,7 @@ def browse(self): @property def args(self): - return (unicode(self.le.text()), self.c.isChecked()) + return (unicode(self.le.text()), self.delete_after_copy) # }}} class CopyToLibraryAction(InterfaceAction): @@ -204,7 +212,7 @@ def build_menus(self): self.menu.addAction(name, partial(self.copy_to_library, loc)) self.menu.addAction(name + ' ' + _('(delete after copy)'), - partial(self.copy_to_library, loc, delete_after=True)) + partial(self.copy_to_library, loc, delete_after=True)) self.menu.addSeparator() self.menu.addAction(_('Choose library by path...'), self.choose_library) @@ -214,6 +222,8 @@ def choose_library(self): d = ChooseLibrary(self.gui) if d.exec_() == d.Accepted: path, delete_after = d.args + if not path: + return db = self.gui.library_view.model().db current = os.path.normcase(os.path.abspath(db.library_path)) if current == os.path.normcase(os.path.abspath(path)): diff --git a/src/calibre/gui2/actions/delete.py b/src/calibre/gui2/actions/delete.py index 7bdcb18644..178d94a477 100644 --- a/src/calibre/gui2/actions/delete.py +++ b/src/calibre/gui2/actions/delete.py @@ -180,6 +180,13 @@ def remove_format_by_id(self, book_id, fmt): self.gui.library_view.currentIndex()) self.gui.tags_view.recount() + def restore_format(self, book_id, original_fmt): + self.gui.current_db.restore_original_format(book_id, original_fmt) + self.gui.library_view.model().refresh_ids([book_id]) + self.gui.library_view.model().current_changed(self.gui.library_view.currentIndex(), + self.gui.library_view.currentIndex()) + self.gui.tags_view.recount() + def delete_selected_formats(self, *args): ids = self._get_selected_ids() if not ids: diff --git a/src/calibre/gui2/actions/edit_metadata.py b/src/calibre/gui2/actions/edit_metadata.py index 4a78c6663a..0fd5d31944 100644 --- a/src/calibre/gui2/actions/edit_metadata.py +++ b/src/calibre/gui2/actions/edit_metadata.py @@ -5,10 +5,10 @@ __copyright__ = '2010, Kovid GoyalIf you have both EPUB and ORIGINAL_EPUB in your book, + then polishing will run on ORIGINAL_EPUB (the same for other + ORIGINAL_* formats). So if you + want Polishing to not run on the ORIGINAL_* format, delete the + ORIGINAL_* format before running it.
''') + ), 'subset':_('There is a separate option to' ' update the cover.
'), - 'do_cover': _('Update the covers in the ebook files to match the' + 'do_cover': _('
Update the covers in the ebook files to match the' ' current cover in the calibre library.
' 'If the ebook file does not have' ' an identifiable cover, a new cover is inserted.
' @@ -198,6 +204,15 @@ def accept(self): ac[action] = saved_prefs[action] = bool(getattr(self, 'opt_'+action).isChecked()) if ac[action]: something = True + if ac['jacket'] and not ac['metadata']: + if not question_dialog(self, _('Must update metadata'), + _('You have selected the option to add metadata as ' + 'a "book jacket". For this option to work, you ' + 'must also select the option to update metadata in' + ' the book files. Do you want to select it?')): + return + ac['metadata'] = saved_prefs['metadata'] = True + self.opt_metadata.setChecked(True) if not something: return error_dialog(self, _('No actions selected'), _('You must select at least one action, or click Cancel.'), @@ -269,7 +284,7 @@ def do_book(self, num, book_id, formats): self.jobs.append((desc, data, book_id, base, is_orig)) # }}} -class Report(QDialog): # {{{ +class Report(QDialog): # {{{ def __init__(self, parent): QDialog.__init__(self, parent) @@ -421,7 +436,7 @@ def get_supported_books(self, book_ids): supported = set(SUPPORTED) for x in SUPPORTED: supported.add('ORIGINAL_'+x) - ans = [(x, set( (db.formats(x, index_is_id=True) or '').split(',') ) + ans = [(x, set((db.formats(x, index_is_id=True) or '').split(',')) .intersection(supported)) for x in book_ids] ans = [x for x in ans if x[1]] if not ans: @@ -470,8 +485,7 @@ def book_polished(self, job): db.save_original_format(book_id, fmt, notify=False) with open(path, 'rb') as f: db.add_format(book_id, fmt, f, index_is_id=True) - self.gui.status_bar.show_message(job.description + \ - (' completed'), 2000) + self.gui.status_bar.show_message(job.description + (' completed'), 2000) try: shutil.rmtree(base) parent = os.path.dirname(base) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 4d00d282d5..44c324fa43 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -405,6 +405,8 @@ class BookInfo(QWebView): link_clicked = pyqtSignal(object) remove_format = pyqtSignal(int, object) save_format = pyqtSignal(int, object) + restore_format = pyqtSignal(int, object) + copy_link = pyqtSignal(object) def __init__(self, vertical, parent=None): QWebView.__init__(self, parent) @@ -418,23 +420,33 @@ def __init__(self, vertical, parent=None): palette.setBrush(QPalette.Base, Qt.transparent) self.page().setPalette(palette) self.css = P('templates/book_details.css', data=True).decode('utf-8') - for x, icon in [('remove', 'trash.png'), ('save', 'save.png')]: + for x, icon in [('remove_format', 'trash.png'), ('save_format', 'save.png'), ('restore_format', 'edit-undo.png'), ('copy_link','edit-copy.png')]: ac = QAction(QIcon(I(icon)), '', self) ac.current_fmt = None - ac.triggered.connect(getattr(self, '%s_format_triggerred'%x)) - setattr(self, '%s_format_action'%x, ac) + ac.current_url = None + ac.triggered.connect(getattr(self, '%s_triggerred'%x)) + setattr(self, '%s_action'%x, ac) def context_action_triggered(self, which): - f = getattr(self, '%s_format_action'%which).current_fmt - if f: + f = getattr(self, '%s_action'%which).current_fmt + url = getattr(self, '%s_action'%which).current_url + if f and 'format' in which: book_id, fmt = f - getattr(self, '%s_format'%which).emit(book_id, fmt) + getattr(self, which).emit(book_id, fmt) + if url and 'link' in which: + getattr(self, which).emit(url) def remove_format_triggerred(self): - self.context_action_triggered('remove') + self.context_action_triggered('remove_format') def save_format_triggerred(self): - self.context_action_triggered('save') + self.context_action_triggered('save_format') + + def restore_format_triggerred(self): + self.context_action_triggered('restore_format') + + def copy_link_triggerred(self): + self.context_action_triggered('copy_link') def link_activated(self, link): self._link_clicked = True @@ -470,20 +482,33 @@ def contextMenuEvent(self, ev): for action in list(menu.actions()): if action is not ca: menu.removeAction(action) - if not r.isNull() and url.startswith('format:'): - parts = url.split(':') - try: - book_id, fmt = int(parts[1]), parts[2] - except: - import traceback - traceback.print_exc() - else: - for a, t in [('remove', _('Delete the %s format')), - ('save', _('Save the %s format to disk'))]: - ac = getattr(self, '%s_format_action'%a) - ac.current_fmt = (book_id, fmt) - ac.setText(t%parts[2]) + if not r.isNull(): + if url.startswith('http'): + for a, t in [('copy', _('&Copy Link')), + ]: + ac = getattr(self, '%s_link_action'%a) + ac.current_url = url + ac.setText(t) menu.addAction(ac) + + if url.startswith('format:'): + parts = url.split(':') + try: + book_id, fmt = int(parts[1]), parts[2] + except: + import traceback + traceback.print_exc() + else: + for a, t in [('remove', _('Delete the %s format')), + ('save', _('Save the %s format to disk')), + ('restore', _('Restore the %s format')), + ]: + if a == 'restore' and not fmt.upper().startswith('ORIGINAL_'): + continue + ac = getattr(self, '%s_format_action'%a) + ac.current_fmt = (book_id, fmt) + ac.setText(t%parts[2]) + menu.addAction(ac) if len(menu.actions()) > 0: menu.exec_(ev.globalPos()) @@ -585,6 +610,8 @@ class BookDetails(QWidget): # {{{ view_specific_format = pyqtSignal(int, object) remove_specific_format = pyqtSignal(int, object) save_specific_format = pyqtSignal(int, object) + restore_specific_format = pyqtSignal(int, object) + copy_link = pyqtSignal(object) remote_file_dropped = pyqtSignal(object, object) files_dropped = pyqtSignal(object, object) cover_changed = pyqtSignal(object, object) @@ -654,6 +681,8 @@ def __init__(self, vertical, parent=None): self.book_info.link_clicked.connect(self.handle_click) self.book_info.remove_format.connect(self.remove_specific_format) self.book_info.save_format.connect(self.save_specific_format) + self.book_info.restore_format.connect(self.restore_specific_format) + self.book_info.copy_link.connect(self.copy_link) self.setCursor(Qt.PointingHandCursor) def handle_click(self, link): diff --git a/src/calibre/gui2/comments_editor.py b/src/calibre/gui2/comments_editor.py index 41f92b509a..c043fccba4 100644 --- a/src/calibre/gui2/comments_editor.py +++ b/src/calibre/gui2/comments_editor.py @@ -66,6 +66,7 @@ class EditorWidget(QWebView): # {{{ def __init__(self, parent=None): QWebView.__init__(self, parent) + self.readonly = False self.comments_pat = re.compile(r'', re.DOTALL) @@ -163,7 +164,11 @@ def __init__(self, parent=None): self.page().linkClicked.connect(self.link_clicked) self.setHtml('') - self.page().setContentEditable(True) + self.set_readonly(False) + + def set_readonly(self, what): + self.readonly = what + self.page().setContentEditable(not self.readonly) def clear_text(self, *args): us = self.page().undoStack() @@ -313,7 +318,7 @@ def set_font_style(self): # toList() is needed because PyQt on Debian is old/broken for body in self.page().mainFrame().documentElement().findAll('body').toList(): body.setAttribute('style', style) - self.page().setContentEditable(True) + self.page().setContentEditable(not self.readonly) def keyPressEvent(self, ev): if ev.key() in (Qt.Key_Tab, Qt.Key_Escape, Qt.Key_Backtab): @@ -585,6 +590,7 @@ def __init__(self, parent=None, one_line_toolbar=False): self.tabs.addTab(self.code_edit, _('HTML Source')) self.tabs.currentChanged[int].connect(self.change_tab) self.highlighter = Highlighter(self.code_edit.document()) + self.layout().setContentsMargins(0, 0, 0, 0) # toolbar1 {{{ self.toolbar1.addAction(self.editor.action_undo) @@ -666,6 +672,12 @@ def hide_toolbars(self): self.toolbar2.setVisible(False) self.toolbar3.setVisible(False) + def set_readonly(self, what): + self.editor.set_readonly(what) + + def hide_tabs(self): + self.tabs.tabBar().setVisible(False) + # }}} if __name__ == '__main__': diff --git a/src/calibre/gui2/convert/single.py b/src/calibre/gui2/convert/single.py index 469091162b..1a915288a8 100644 --- a/src/calibre/gui2/convert/single.py +++ b/src/calibre/gui2/convert/single.py @@ -75,7 +75,7 @@ def data(self, index, role): def get_preferred_input_format_for_book(db, book_id): recs = load_specifics(db, book_id) if recs: - return recs.get('gui_preferred_input_format', None) + return recs.get('gui_preferred_input_format', None) def get_available_formats_for_book(db, book_id): available_formats = db.formats(book_id, index_is_id=True) @@ -147,6 +147,7 @@ def __init__(self, parent, db, book_id, self.connect(self.groups, SIGNAL('entered(QModelIndex)'), self.show_group_help) rb = self.buttonBox.button(self.buttonBox.RestoreDefaults) + rb.setText(_('Restore &Defaults')) self.connect(rb, SIGNAL('clicked()'), self.restore_defaults) self.groups.setMouseTracking(True) geom = gprefs.get('convert_single_dialog_geom', None) @@ -188,7 +189,6 @@ def widget_factory(cls): return cls(self.stack, self.plumber.get_option_by_name, self.plumber.get_option_help, self.db, self.book_id) - self.mw = widget_factory(MetadataWidget) self.setWindowTitle(_('Convert')+ ' ' + unicode(self.mw.title.text())) lf = widget_factory(LookAndFeelWidget) @@ -209,7 +209,8 @@ def widget_factory(cls): self.plumber.get_option_help, self.db, self.book_id) while True: c = self.stack.currentWidget() - if not c: break + if not c: + break self.stack.removeWidget(c) widgets = [self.mw, lf, hw, ps, sd, toc, sr] @@ -234,7 +235,6 @@ def widget_factory(cls): except: pass - def setup_input_output_formats(self, db, book_id, preferred_input_format, preferred_output_format): if preferred_output_format: diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index b2dedf74db..45778ec309 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -1131,6 +1131,13 @@ def books_deleted(self, job): # so we don't need to worry about whether some succeeded or not. self.refresh_ondevice(reset_only=False) + try: + if not self.current_view().currentIndex().isValid(): + self.current_view().set_current_row() + self.current_view().refresh_book_details() + except: + traceback.print_exc() + def dispatch_sync_event(self, dest, delete, specific): rows = self.library_view.selectionModel().selectedRows() if not rows or len(rows) == 0: diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 3aac439815..84ca9135f0 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -12,7 +12,7 @@ from calibre.gui2.dialogs.metadata_bulk_ui import Ui_MetadataBulkDialog from calibre.gui2.dialogs.tag_editor import TagEditor from calibre.ebooks.metadata import string_to_authors, authors_to_string, title_sort -from calibre.ebooks.metadata.book.base import SafeFormat +from calibre.ebooks.metadata.book.formatter import SafeFormat from calibre.gui2.custom_column_widgets import populate_metadata_page from calibre.gui2 import error_dialog, ResizableDialog, UNDEFINED_QDATETIME, \ gprefs, question_dialog diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index fc8a528830..b60449512b 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -11,7 +11,8 @@ from calibre.gui2 import error_dialog from calibre.gui2.dialogs.template_dialog_ui import Ui_TemplateDialog from calibre.utils.formatter_functions import formatter_functions -from calibre.ebooks.metadata.book.base import SafeFormat, Metadata +from calibre.ebooks.metadata.book.base import Metadata +from calibre.ebooks.metadata.book.formatter import SafeFormat from calibre.library.coloring import (displayable_columns) @@ -178,7 +179,7 @@ def check_cursor_pos(self, chr, block, pos_in_block): list = reversed(self.paren_positions[0:found_pp]) for pp in list: if pp.paren == chr: - stack += 1; + stack += 1 elif stack: stack -= 1 else: diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index eff36e865b..131adc3216 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -7,7 +7,7 @@ import functools -from PyQt4.Qt import (Qt, QStackedWidget, QMenu, QTimer, +from PyQt4.Qt import (Qt, QApplication, QStackedWidget, QMenu, QTimer, QSize, QSizePolicy, QStatusBar, QLabel, QFont) from calibre.utils.config import prefs @@ -272,6 +272,10 @@ def finalize_layout(self): self.iactions['Remove Books'].remove_format_by_id) self.book_details.save_specific_format.connect( self.iactions['Save To Disk'].save_library_format_by_ids) + self.book_details.restore_specific_format.connect( + self.iactions['Remove Books'].restore_format) + self.book_details.copy_link.connect(self.bd_copy_link, + type=Qt.QueuedConnection) self.book_details.view_device_book.connect( self.iactions['View'].view_device_book) @@ -293,6 +297,10 @@ def bd_cover_removed(self, id_): if self.cover_flow: self.cover_flow.dataChanged() + def bd_copy_link(self, url): + if url: + QApplication.clipboard().setText(url) + def save_layout_state(self): for x in ('library', 'memory', 'card_a', 'card_b'): getattr(self, x+'_view').save_state() diff --git a/src/calibre/gui2/languages.py b/src/calibre/gui2/languages.py index f49fc863cb..f234a9c56b 100644 --- a/src/calibre/gui2/languages.py +++ b/src/calibre/gui2/languages.py @@ -23,14 +23,17 @@ def __init__(self, parent=None, db=None): self.comma_map = {k:k.replace(',', '|') for k in self.names_with_commas} self.comma_rmap = {v:k for k, v in self.comma_map.iteritems()} self._rmap = {lower(v):k for k,v in self._lang_map.iteritems()} - if db is not None: - self.init_langs(db) + self.init_langs(db) def init_langs(self, db): - pmap = {self._lang_map.get(x[1], x[1]):1 for x in - db.get_languages_with_ids()} - all_items = sorted(self._lang_map.itervalues(), - key=lambda x: (-pmap.get(x, 0), sort_key(x))) + if db is not None: + pmap = {self._lang_map.get(x[1], x[1]):1 for x in + db.get_languages_with_ids()} + all_items = sorted(self._lang_map.itervalues(), + key=lambda x: (-pmap.get(x, 0), sort_key(x))) + else: + all_items = sorted(self._lang_map.itervalues(), + key=lambda x: sort_key(x)) self.update_items_cache(all_items) @property diff --git a/src/calibre/gui2/layout.py b/src/calibre/gui2/layout.py index 6563059821..82e127970c 100644 --- a/src/calibre/gui2/layout.py +++ b/src/calibre/gui2/layout.py @@ -16,11 +16,10 @@ from calibre.gui2.search_box import SearchBox2, SavedSearchBox from calibre.gui2.throbber import ThrobbingButton from calibre.gui2.bars import BarsManager -from calibre.gui2.widgets import ComboBoxWithHelp from calibre.utils.config_base import tweaks from calibre import human_readable -class LocationManager(QObject): # {{{ +class LocationManager(QObject): # {{{ locations_changed = pyqtSignal() unmount_device = pyqtSignal() @@ -165,7 +164,7 @@ def available_actions(self): # }}} -class SearchBar(QWidget): # {{{ +class SearchBar(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) @@ -173,11 +172,13 @@ def __init__(self, parent): self.setLayout(self._layout) self._layout.setContentsMargins(0,5,0,0) - x = ComboBoxWithHelp(self) - x.setMaximumSize(QSize(150, 16777215)) - x.setObjectName("search_restriction") + x = QToolButton(self) + x.setText(_('Vi&rtual Library')) + x.setIcon(QIcon(I('lt.png'))) + x.setObjectName("virtual_library") + x.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) l.addWidget(x) - parent.search_restriction = x + parent.virtual_library = x x = QLabel(self) x.setObjectName("search_count") @@ -243,7 +244,7 @@ def __init__(self, parent): # }}} -class Spacer(QWidget): # {{{ +class Spacer(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) @@ -252,7 +253,7 @@ def __init__(self, parent): self.l.addStretch(10) # }}} -class MainWindowMixin(object): # {{{ +class MainWindowMixin(object): # {{{ def __init__(self, db): self.setObjectName('MainWindow') diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index a08c13c79b..d252af6395 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -12,9 +12,9 @@ QModelIndex, QVariant, QDateTime, QColor, QPixmap) from calibre.gui2 import NONE, UNDEFINED_QDATETIME, error_dialog -from calibre.utils.pyparsing import ParseException +from calibre.utils.search_query_parser import ParseException from calibre.ebooks.metadata import fmt_sidx, authors_to_string, string_to_authors -from calibre.ebooks.metadata.book.base import SafeFormat +from calibre.ebooks.metadata.book.formatter import SafeFormat from calibre.ptempfile import PersistentTemporaryFile from calibre.utils.config import tweaks, device_prefs, prefs from calibre.utils.date import dt_factory, qt_to_dt, as_local_time diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 2dc84cf240..b7fe690717 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -807,6 +807,14 @@ def set_current_row(self, row=0, select=True): sm = self.selectionModel() sm.select(index, sm.ClearAndSelect|sm.Rows) + def keyPressEvent(self, ev): + val = self.horizontalScrollBar().value() + ret = super(BooksView, self).keyPressEvent(ev) + if ev.isAccepted() and ev.key() in (Qt.Key_Home, Qt.Key_End + ) and ev.modifiers() & Qt.ControlModifier: + self.horizontalScrollBar().setValue(val) + return ret + def ids_to_rows(self, ids): row_map = OrderedDict() ids = frozenset(ids) diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 5e031a4b2c..5544c52273 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -101,7 +101,7 @@ def commit(self, db, id_): getattr(db, 'set_'+ self.TITLE_ATTR)(id_, title, notify=False, commit=False) except (IOError, OSError) as err: - if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied import traceback fname = getattr(err, 'filename', None) p = 'Locked file: %s\n\n'%fname if fname else '' @@ -273,7 +273,7 @@ def commit(self, db, id_): self.books_to_refresh |= db.set_authors(id_, authors, notify=False, allow_case_change=True) except (IOError, OSError) as err: - if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied import traceback fname = getattr(err, 'filename', None) p = 'Locked file: %s\n\n'%fname if fname else '' @@ -485,7 +485,7 @@ def fset(self, val): def initialize(self, db, id_): self.books_to_refresh = set([]) all_series = db.all_series() - all_series.sort(key=lambda x : sort_key(x[1])) + all_series.sort(key=lambda x: sort_key(x[1])) self.update_items_cache([x[1] for x in all_series]) series_id = db.series_id(id_, index_is_id=True) inval = '' @@ -586,7 +586,7 @@ def break_cycles(self): # }}} -class BuddyLabel(QLabel): # {{{ +class BuddyLabel(QLabel): # {{{ def __init__(self, buddy): QLabel.__init__(self, buddy.LABEL) @@ -698,11 +698,11 @@ def __init__(self, parent, copy_fmt): self.formats.setIconSize(QSize(32, 32)) self.formats.setMaximumWidth(200) - l.addWidget(self.cover_from_format_button, 0, 0, 1, 1) + l.addWidget(self.cover_from_format_button, 0, 0, 1, 1) l.addWidget(self.metadata_from_format_button, 2, 0, 1, 1) - l.addWidget(self.add_format_button, 0, 2, 1, 1) - l.addWidget(self.remove_format_button, 2, 2, 1, 1) - l.addWidget(self.formats, 0, 1, 3, 1) + l.addWidget(self.add_format_button, 0, 2, 1, 1) + l.addWidget(self.remove_format_button, 2, 2, 1, 1) + l.addWidget(self.formats, 0, 1, 3, 1) self.temp_files = [] @@ -882,7 +882,7 @@ def break_cycles(self): self.temp_files = [] # }}} -class Cover(ImageView): # {{{ +class Cover(ImageView): # {{{ download_cover = pyqtSignal() @@ -927,9 +927,9 @@ def sizeHint(self): return sz def select_cover(self, *args): - files = choose_images(self, 'change cover dialog', - _('Choose cover for ') + - self.dialog.title.current_val) + files = choose_images( + self, 'change cover dialog', _('Choose cover for ') + self.dialog.title.current_val, + formats=('png', 'gif', 'jpg', 'jpeg')) if not files: return _file = files[0] @@ -1052,7 +1052,7 @@ def break_cycles(self): # }}} -class CommentsEdit(Editor): # {{{ +class CommentsEdit(Editor): # {{{ @dynamic_property def current_val(self): @@ -1076,7 +1076,7 @@ def commit(self, db, id_): return True # }}} -class RatingEdit(QSpinBox): # {{{ +class RatingEdit(QSpinBox): # {{{ LABEL = _('&Rating:') TOOLTIP = _('Rating of this book. 0-5 stars') @@ -1120,7 +1120,7 @@ def zero(self): # }}} -class TagsEdit(EditWithComplete): # {{{ +class TagsEdit(EditWithComplete): # {{{ LABEL = _('Ta&gs:') TOOLTIP = ''+_('Tags categorize the book. This is particularly '
'useful while searching. '+_('Create a virtual library based on: ')+
+ ('{0}, '
+ '{1}, '
+ '{2}, '
+ '{3}, '
+ '{4}.').format(_('Authors'), _('Tags'),
+ _('Publishers'), _('Series'), _('Saved Searches')))
+ sl.setWordWrap(True)
+ sl.setTextInteractionFlags(Qt.LinksAccessibleByMouse)
+ sl.linkActivated.connect(self.link_activated)
+ gl.addWidget(sl, 3, 0, 1, 2)
+ gl.setRowStretch(3,10)
+
+ self.hl = hl = QLabel(_('''
+ Using virtual libraries you can restrict calibre to only show
+ you books that match a search. When a virtual library is in effect, calibre
+ behaves as though the library contains only the matched books. The Tag Browser
+ display only the tags/authors/series/etc. that belong to the matched books and any searches
+ you do will only search within the books in the virtual library. This
+ is a good way to partition your large library into smaller and easier to work with subsets. For example you can use a Virtual Library to only show you books with the Tag "Unread"
+ or only books by "My Favorite Author" or only books in a particular series. ' +
- self.search_restriction_tooltip +
- _(' or the search ') + "'" + search + "' '+_(
'Here you can choose a destination for the Table of Contents\' entry'
@@ -167,6 +175,10 @@ def __init__(self, parent):
l.addStretch()
+ state = gprefs.get('toc_edit_splitter_state', None)
+ if state is not None:
+ sp.restoreState(state)
+
def keyPressEvent(self, ev):
if ev.key() in (Qt.Key_Return, Qt.Key_Enter) and self.search_text.hasFocus():
# Prevent pressing enter in the search box from triggering the dialog's accept() method
@@ -236,6 +248,7 @@ def __call__(self, item, where):
if item is not None:
if where is None:
self.name.setText(item.data(0, Qt.DisplayRole).toString())
+ self.name.setCursorPosition(0)
toc = item.data(0, Qt.UserRole).toPyObject()
if toc.dest:
for i in xrange(self.dest_list.count()):
@@ -272,7 +285,6 @@ def get_loctext(self, frac):
loctext = _('Approximately %d%% from the top')%frac
return loctext
-
def elem_clicked(self, tag, frac, elem_id, loc):
self.current_frag = elem_id or loc
base = _('Location: A <%s> tag inside the file')%tag
diff --git a/src/calibre/gui2/toc/main.py b/src/calibre/gui2/toc/main.py
index 90d9a8f4a8..b6c6b081f8 100644
--- a/src/calibre/gui2/toc/main.py
+++ b/src/calibre/gui2/toc/main.py
@@ -14,7 +14,7 @@
from PyQt4.Qt import (QPushButton, QFrame, QVariant, QMenu, QInputDialog,
QDialog, QVBoxLayout, QDialogButtonBox, QSize, QStackedWidget, QWidget,
QLabel, Qt, pyqtSignal, QIcon, QTreeWidget, QGridLayout, QTreeWidgetItem,
- QToolButton, QItemSelectionModel, QCursor)
+ QToolButton, QItemSelectionModel, QCursor, QKeySequence)
from calibre.ebooks.oeb.polish.container import get_container, AZW3Container
from calibre.ebooks.oeb.polish.toc import (
@@ -27,7 +27,7 @@
ICON_SIZE = 24
-class XPathDialog(QDialog): # {{{
+class XPathDialog(QDialog): # {{{
def __init__(self, parent):
QDialog.__init__(self, parent)
@@ -118,7 +118,7 @@ def xpaths(self):
return [w.xpath for w in self.widgets if w.xpath.strip()]
# }}}
-class ItemView(QFrame): # {{{
+class ItemView(QFrame): # {{{
add_new_item = pyqtSignal(object, object)
delete_item = pyqtSignal()
@@ -207,7 +207,6 @@ def __init__(self, parent):
)))
l.addWidget(b)
-
l.addStretch()
self.w1 = la = QLabel(_('WARNING: calibre only supports the '
'creation of linear ToCs in AZW3 files. In a '
@@ -349,7 +348,9 @@ def data_changed(self, item):
# }}}
-class TreeWidget(QTreeWidget): # {{{
+class TreeWidget(QTreeWidget): # {{{
+
+ edit_item = pyqtSignal()
def __init__(self, parent):
QTreeWidget.__init__(self, parent)
@@ -510,25 +511,30 @@ def keyPressEvent(self, ev):
def show_context_menu(self, point):
item = self.currentItem()
+ def key(k):
+ sc = unicode(QKeySequence(k | Qt.CTRL).toString(QKeySequence.NativeText))
+ return ' [%s]'%sc
+
if item is not None:
m = QMenu()
ci = unicode(item.data(0, Qt.DisplayRole).toString())
p = item.parent() or self.invisibleRootItem()
idx = p.indexOfChild(item)
if idx > 0:
- m.addAction(QIcon(I('arrow-up.png')), _('Move "%s" up')%ci, self.move_up)
+ m.addAction(QIcon(I('arrow-up.png')), (_('Move "%s" up')%ci)+key(Qt.Key_Up), self.move_up)
if idx + 1 < p.childCount():
- m.addAction(QIcon(I('arrow-down.png')), _('Move "%s" down')%ci, self.move_down)
+ m.addAction(QIcon(I('arrow-down.png')), (_('Move "%s" down')%ci)+key(Qt.Key_Down), self.move_down)
m.addAction(QIcon(I('trash.png')), _('Remove all selected items'), self.del_items)
if item.parent() is not None:
- m.addAction(QIcon(I('back.png')), _('Unindent "%s"')%ci, self.move_left)
+ m.addAction(QIcon(I('back.png')), (_('Unindent "%s"')%ci)+key(Qt.Key_Left), self.move_left)
if idx > 0:
- m.addAction(QIcon(I('forward.png')), _('Indent "%s"')%ci, self.move_right)
+ m.addAction(QIcon(I('forward.png')), (_('Indent "%s"')%ci)+key(Qt.Key_Right), self.move_right)
+ m.addAction(QIcon(I('edit_input.png')), _('Change the location this entry points to'), self.edit_item)
m.addAction(_('Change all selected items to title case'), self.title_case)
m.exec_(QCursor.pos())
# }}}
-class TOCView(QWidget): # {{{
+class TOCView(QWidget): # {{{
add_new_item = pyqtSignal(object, object)
@@ -537,6 +543,7 @@ def __init__(self, parent):
l = self.l = QGridLayout()
self.setLayout(l)
self.tocw = t = TreeWidget(self)
+ self.tocw.edit_item.connect(self.edit_item)
l.addWidget(t, 0, 0, 7, 3)
self.up_button = b = QToolButton(self)
b.setIcon(QIcon(I('arrow-up.png')))
@@ -595,6 +602,9 @@ def __init__(self, parent):
l.setColumnStretch(2, 10)
+ def edit_item(self):
+ self.item_view.edit_item()
+
def event(self, e):
if e.type() == e.StatusTip:
txt = unicode(e.tip()) or self.default_msg
@@ -742,12 +752,12 @@ def update_item(self, item, where, name, frag, title):
else:
parent = item.parent() or self.root
idx = parent.indexOfChild(item)
- if where == 'after': idx += 1
+ if where == 'after':
+ idx += 1
c = self.create_item(parent, child, idx=idx)
self.tocw.setCurrentItem(c, 0, QItemSelectionModel.ClearAndSelect)
self.tocw.scrollToItem(c)
-
def create_toc(self):
root = TOC()
@@ -799,7 +809,7 @@ def create_from_files(self):
# }}}
-class TOCEditor(QDialog): # {{{
+class TOCEditor(QDialog): # {{{
explode_done = pyqtSignal(object)
writing_done = pyqtSignal(object)
@@ -857,6 +867,7 @@ def add_new_item(self, item, where):
def accept(self):
if self.stacks.currentIndex() == 2:
self.toc_view.update_item(*self.item_edit.result)
+ gprefs['toc_edit_splitter_state'] = bytearray(self.item_edit.splitter.saveState())
self.stacks.setCurrentIndex(1)
elif self.stacks.currentIndex() == 1:
self.working = False
@@ -883,6 +894,7 @@ def reject(self):
if not self.bb.isEnabled():
return
if self.stacks.currentIndex() == 2:
+ gprefs['toc_edit_splitter_state'] = bytearray(self.item_edit.splitter.saveState())
self.stacks.setCurrentIndex(1)
else:
self.working = False
@@ -938,5 +950,5 @@ def write_toc(self):
d = TOCEditor(sys.argv[-1])
d.start()
d.exec_()
- del d # Needed to prevent sigsegv in exit cleanup
+ del d # Needed to prevent sigsegv in exit cleanup
diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py
index 65993ff31c..aafea4ef2b 100644
--- a/src/calibre/gui2/ui.py
+++ b/src/calibre/gui2/ui.py
@@ -15,7 +15,7 @@
from collections import OrderedDict
from PyQt4.Qt import (Qt, SIGNAL, QTimer, QHelpEvent, QAction,
- QMenu, QIcon, pyqtSignal, QUrl,
+ QMenu, QIcon, pyqtSignal, QUrl, QFont,
QDialog, QSystemTrayIcon, QApplication)
from calibre import prints, force_unicode
@@ -47,7 +47,7 @@
from calibre.gui2.dialogs.message_box import JobError
from calibre.gui2.job_indicator import Pointer
-class Listener(Thread): # {{{
+class Listener(Thread): # {{{
def __init__(self, listener):
Thread.__init__(self)
@@ -76,7 +76,7 @@ def close(self):
# }}}
-class SystemTrayIcon(QSystemTrayIcon): # {{{
+class SystemTrayIcon(QSystemTrayIcon): # {{{
tooltip_requested = pyqtSignal(object)
@@ -98,7 +98,7 @@ def event(self, ev):
def get_gui():
return _gui
-class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
+class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
TagBrowserMixin, CoverFlowMixin, LibraryViewMixin, SearchBoxMixin,
SavedSearchBoxMixin, SearchRestrictionMixin, LayoutMixin, UpdateMixin,
EbookDownloadMixin
@@ -187,7 +187,6 @@ def add_istore(self, st):
else:
stmap[st.name] = st
-
def initialize(self, library_path, db, listener, actions, show_gui=True):
opts = self.opts
self.preferences_action, self.quit_action = actions
@@ -266,6 +265,27 @@ def initialize(self, library_path, db, listener, actions, show_gui=True):
action=self.esc_action)
self.esc_action.triggered.connect(self.esc)
+ self.shift_esc_action = QAction(self)
+ self.addAction(self.shift_esc_action)
+ self.keyboard.register_shortcut('focus book list',
+ _('Focus the book list'), default_keys=('Shift+Esc',),
+ action=self.shift_esc_action)
+ self.shift_esc_action.triggered.connect(self.shift_esc)
+
+ self.ctrl_esc_action = QAction(self)
+ self.addAction(self.ctrl_esc_action)
+ self.keyboard.register_shortcut('clear virtual library',
+ _('Clear the virtual library'), default_keys=('Ctrl+Esc',),
+ action=self.ctrl_esc_action)
+ self.ctrl_esc_action.triggered.connect(self.ctrl_esc)
+
+ self.alt_esc_action = QAction(self)
+ self.addAction(self.alt_esc_action)
+ self.keyboard.register_shortcut('clear additional restriction',
+ _('Clear the additional restriction'), default_keys=('Alt+Esc',),
+ action=self.alt_esc_action)
+ self.alt_esc_action.triggered.connect(self.clear_additional_restriction)
+
####################### Start spare job server ########################
QTimer.singleShot(1000, self.add_spare_server)
@@ -279,6 +299,7 @@ def initialize(self, library_path, db, listener, actions, show_gui=True):
UpdateMixin.__init__(self, opts)
####################### Search boxes ########################
+ SearchRestrictionMixin.__init__(self)
SavedSearchBoxMixin.__init__(self)
SearchBoxMixin.__init__(self)
@@ -313,9 +334,8 @@ def initialize(self, library_path, db, listener, actions, show_gui=True):
TagBrowserMixin.__init__(self, db)
######################### Search Restriction ##########################
- SearchRestrictionMixin.__init__(self)
- if db.prefs['gui_restriction']:
- self.apply_named_search_restriction(db.prefs['gui_restriction'])
+ if db.prefs['virtual_lib_on_startup']:
+ self.apply_virtual_library(db.prefs['virtual_lib_on_startup'])
########################### Cover Flow ################################
@@ -339,7 +359,6 @@ def initialize(self, library_path, db, listener, actions, show_gui=True):
if config['autolaunch_server']:
self.start_content_server()
-
self.keyboard_interrupt.connect(self.quit, type=Qt.QueuedConnection)
self.read_settings()
@@ -379,6 +398,13 @@ def initialize(self, library_path, db, listener, actions, show_gui=True):
def esc(self, *args):
self.clear_button.click()
+ def shift_esc(self):
+ self.current_view().setFocus(Qt.OtherFocusReason)
+
+ def ctrl_esc(self):
+ self.apply_virtual_library()
+ self.current_view().setFocus(Qt.OtherFocusReason)
+
def start_smartdevice(self):
message = None
if self.device_manager.get_option('smartdevice', 'autostart'):
@@ -393,7 +419,7 @@ def start_smartdevice(self):
if not self.device_manager.is_running('Wireless Devices'):
error_dialog(self, _('Problem starting the wireless device'),
_('The wireless device driver did not start. '
- 'It said "%s"')%message, show=True)
+ 'It said "%s"')%message, show=True)
self.iactions['Connect Share'].set_smartdevice_action_state()
def start_content_server(self, check_started=True):
@@ -494,7 +520,7 @@ def another_instance_wants_to_talk(self):
path = os.path.abspath(argv[1])
if os.access(path, os.R_OK):
self.iactions['Add Books'].add_filesystem_book(path)
- self.setWindowState(self.windowState() & \
+ self.setWindowState(self.windowState() &
~Qt.WindowMinimized|Qt.WindowActive)
self.show_windows()
self.raise_()
@@ -526,7 +552,8 @@ def booklists(self):
def library_moved(self, newloc, copy_structure=False, call_close=True,
allow_rebuild=False):
- if newloc is None: return
+ if newloc is None:
+ return
default_prefs = None
try:
olddb = self.library_view.model().db
@@ -537,7 +564,8 @@ def library_moved(self, newloc, copy_structure=False, call_close=True,
try:
db = LibraryDatabase2(newloc, default_prefs=default_prefs)
except (DatabaseException, sqlite.Error):
- if not allow_rebuild: raise
+ if not allow_rebuild:
+ raise
import traceback
repair = question_dialog(self, _('Corrupted database'),
_('The library database at %s appears to be corrupted. Do '
@@ -571,9 +599,10 @@ def library_moved(self, newloc, copy_structure=False, call_close=True,
db = self.library_view.model().db
self.iactions['Choose Library'].count_changed(db.count())
self.set_window_title()
- self.apply_named_search_restriction('') # reset restriction to null
- self.saved_searches_changed(recount=False) # reload the search restrictions combo box
- self.apply_named_search_restriction(db.prefs['gui_restriction'])
+ self.apply_named_search_restriction('') # reset restriction to null
+ self.saved_searches_changed(recount=False) # reload the search restrictions combo box
+ if db.prefs['virtual_lib_on_startup']:
+ self.apply_virtual_library(db.prefs['virtual_lib_on_startup'])
for action in self.iactions.values():
action.library_changed(db)
if olddb is not None:
@@ -596,9 +625,20 @@ def library_moved(self, newloc, copy_structure=False, call_close=True,
# interface later
gc.collect()
-
def set_window_title(self):
- self.setWindowTitle(__appname__ + u' - || %s ||'%self.iactions['Choose Library'].library_name())
+ db = self.current_db
+ restrictions = [x for x in (db.data.get_base_restriction_name(),
+ db.data.get_search_restriction_name()) if x]
+ restrictions = ' :: '.join(restrictions)
+ font = QFont()
+ if restrictions:
+ restrictions = ' :: ' + restrictions
+ font.setBold(True)
+ font.setItalic(True)
+ self.virtual_library.setFont(font)
+ title = u'{0} - || {1}{2} ||'.format(
+ __appname__, self.iactions['Choose Library'].library_name(), restrictions)
+ self.setWindowTitle(title)
def location_selected(self, location):
'''
@@ -613,17 +653,15 @@ def location_selected(self, location):
for action in self.iactions.values():
action.location_selected(location)
if location == 'library':
- self.search_restriction.setEnabled(True)
+ self.virtual_library_menu.setEnabled(True)
self.highlight_only_button.setEnabled(True)
else:
- self.search_restriction.setEnabled(False)
+ self.virtual_library_menu.setEnabled(False)
self.highlight_only_button.setEnabled(False)
# Reset the view in case something changed while it was invisible
self.current_view().reset()
self.set_number_of_books_shown()
-
-
def job_exception(self, job, dialog_title=_('Conversion Error')):
if not hasattr(self, '_modeless_dialogs'):
self._modeless_dialogs = []
@@ -715,7 +753,7 @@ def read_settings(self):
self.read_layout_settings()
def write_settings(self):
- with gprefs: # Only write to gprefs once
+ with gprefs: # Only write to gprefs once
config.set('main_window_geometry', self.saveGeometry())
dynamic.set('sort_history', self.library_view.model().sort_history)
self.save_layout_state()
@@ -748,7 +786,6 @@ def confirm_quit(self):
return False
return True
-
def shutdown(self, write_settings=True):
try:
db = self.library_view.model().db
@@ -808,13 +845,11 @@ def run_wizard(self, *args):
pass
QApplication.instance().quit()
-
-
def closeEvent(self, e):
self.write_settings()
if self.system_tray_icon.isVisible():
if not dynamic['systray_msg'] and not isosx:
- info_dialog(self, 'calibre', 'calibre '+ \
+ info_dialog(self, 'calibre', 'calibre '+
_('will keep running in the system tray. To close it, '
'choose Quit in the context menu of the '
'system tray.'), show_copy_button=False).exec_()
diff --git a/src/calibre/gui2/viewer/config.py b/src/calibre/gui2/viewer/config.py
index a744a2c1f9..4132149842 100644
--- a/src/calibre/gui2/viewer/config.py
+++ b/src/calibre/gui2/viewer/config.py
@@ -139,12 +139,20 @@ def __init__(self, shortcuts, parent=None):
self.load_options(opts)
self.init_load_themes()
+ self.clear_search_history_button.clicked.connect(self.clear_search_history)
+
+ def clear_search_history(self):
+ from calibre.gui2 import config
+ config['viewer_search_history'] = []
+
def save_theme(self):
themename, ok = QInputDialog.getText(self, _('Theme name'),
_('Choose a name for this theme'))
- if not ok: return
+ if not ok:
+ return
themename = unicode(themename).strip()
- if not themename: return
+ if not themename:
+ return
c = config('')
c.add_opt('theme_name_xxx', default=themename)
self.save_options(c)
@@ -247,7 +255,8 @@ def change_color(self, which, reset=False):
def update_sample_colors(self):
for x in ('text', 'background'):
val = getattr(self, 'current_%s_color'%x)
- if not val: val = 'inherit' if x == 'text' else 'transparent'
+ if not val:
+ val = 'inherit' if x == 'text' else 'transparent'
ss = 'QLabel { %s: %s }'%('background-color' if x == 'background'
else 'color', val)
getattr(self, '%s_color_sample'%x).setStyleSheet(ss)
diff --git a/src/calibre/gui2/viewer/config.ui b/src/calibre/gui2/viewer/config.ui
index b146b571a2..1dce8e1a9e 100644
--- a/src/calibre/gui2/viewer/config.ui
+++ b/src/calibre/gui2/viewer/config.ui
@@ -68,7 +68,7 @@ QToolBox::tab:hover {
You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6300,185 +6435,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9943,7 +10122,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10454,13 +10633,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10494,8 +10673,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10514,13 +10693,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10619,7 +10798,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10667,12 +10846,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10767,40 +10946,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11668,6 +11847,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11703,12 +11883,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12282,12 +12462,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12339,6 +12519,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12353,6 +12534,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13229,7 +13411,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13273,7 +13455,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13283,66 +13465,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18121,34 +18516,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6538,185 +6673,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10173,7 +10352,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10684,13 +10863,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "مكتبة"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10724,8 +10903,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10744,13 +10923,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10849,7 +11028,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10897,12 +11076,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10997,40 +11176,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "إظهار و تفاصيل"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "إخفاء و تفاصيل"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11901,6 +12080,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11936,12 +12116,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "بحث"
@@ -12515,12 +12695,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12572,6 +12752,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "الناشرون"
@@ -12586,6 +12767,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13466,7 +13648,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13510,7 +13692,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13520,66 +13702,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "حذف المكتبة"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "بحث متقدّم"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. لرؤية السجل الكامل، انقر فوق إظهار التفاصيل.."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"فشل في تحميل عاطفية يغطي، انقر فوق \"عرض التفاصيل\" لﻻطﻻع على التفاصيل."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14624,7 +14816,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14667,34 +14860,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "مرتفع"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "منخفض"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14743,12 +14936,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15671,10 +15864,6 @@ msgstr ""
msgid "Small"
msgstr "صغير"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "كبير"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "متوسط"
@@ -15692,7 +15881,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "بواسطة الحرف الأول"
@@ -16660,20 +16849,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "فشل في تشغيل خادم المحتوى"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "سجل الأخطاء:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "سجل النفاذ:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "تحتاج إلى إعادة تشغيل الملقم لتصبح التغييرات نافذة المفعول"
@@ -16706,18 +16895,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -17093,83 +17282,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18380,34 +18775,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6266,185 +6401,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9909,7 +10088,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10460,8 +10639,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10480,13 +10659,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10585,7 +10764,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10633,12 +10812,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10733,40 +10912,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11634,6 +11813,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11669,12 +11849,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12319,6 +12500,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13195,7 +13377,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13239,7 +13421,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13249,66 +13431,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18087,34 +18482,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6264,185 +6399,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9907,7 +10086,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10418,13 +10597,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10458,8 +10637,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10478,13 +10657,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10583,7 +10762,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10631,12 +10810,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10731,40 +10910,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11632,6 +11811,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11667,12 +11847,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12246,12 +12426,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12303,6 +12483,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12317,6 +12498,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13193,7 +13375,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13237,7 +13419,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13247,66 +13429,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18085,34 +18480,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6260,185 +6395,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9903,7 +10082,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10454,8 +10633,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10474,13 +10653,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10579,7 +10758,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10627,12 +10806,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10727,40 +10906,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11628,6 +11807,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11663,12 +11843,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12313,6 +12494,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13189,7 +13371,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13233,7 +13415,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13243,66 +13425,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18081,34 +18476,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6402,185 +6537,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10045,7 +10224,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10556,13 +10735,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10596,8 +10775,8 @@ msgid "Location"
msgstr "Местоположение"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10616,13 +10795,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10721,7 +10900,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Не са намерени съвпадения"
@@ -10769,12 +10948,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10869,40 +11048,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11770,6 +11949,7 @@ msgstr "Прекъсване..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11805,12 +11985,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Търсене"
@@ -12384,12 +12564,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12441,6 +12621,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Издатели"
@@ -12455,6 +12636,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13331,7 +13513,7 @@ msgid "&Shortcut:"
msgstr "&Бърз клавиш:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13375,7 +13557,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13385,66 +13567,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Изтриване на библиотека"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18225,34 +18620,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6260,185 +6395,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9903,7 +10082,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10454,8 +10633,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10474,13 +10653,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10579,7 +10758,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10627,12 +10806,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10727,40 +10906,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11628,6 +11807,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11663,12 +11843,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12313,6 +12494,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13189,7 +13371,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13233,7 +13415,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13243,66 +13425,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18081,34 +18476,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6266,185 +6401,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9909,7 +10088,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10460,8 +10639,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10480,13 +10659,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10585,7 +10764,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10633,12 +10812,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10733,40 +10912,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11634,6 +11813,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11669,12 +11849,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12319,6 +12500,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13195,7 +13377,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13239,7 +13421,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13249,66 +13431,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18087,34 +18482,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6267,185 +6402,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9910,7 +10089,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10421,13 +10600,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10461,8 +10640,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10481,13 +10660,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10586,7 +10765,7 @@ msgstr "Link"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Nema rezultata"
@@ -10634,12 +10813,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10734,40 +10913,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11635,6 +11814,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11670,12 +11850,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12249,12 +12429,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12306,6 +12486,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12320,6 +12501,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13196,7 +13378,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13240,7 +13422,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13250,66 +13432,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18092,34 +18487,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Neuspjelo"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Polit de llibres us permet aconseguir un toc de perfecció als "
-"llibres\n"
-"que heu creat tant acuradament. Polir llibres consisteix en posar la cirereta al pastís de la "
+"perfecció als\n"
+"llibres que heu creat amb tanta cura. El polit intenta minimitzar els canvis al codi intern del vostre llibre.\n"
-"A diferència de la conversió no aplana el CSS, reanomena fitxers, "
-"canvia\n"
-"mides de lletra, ajusta marges... Cada acció fa només el mínim de canvis "
-"que\n"
-"cal per aconseguir l'efecte desitjat. En polir s'intenta minimitzar els canvis al codi intern del llibre. A "
+"diferència de\n"
+"la conversió no aplana el CSS, reanomena fitxers canvia les mides de "
+"lletra,\n"
+"ajusta marges... Cada acció fa els canvis mínims necessaris per a l'efecte "
+"desitjat. Hauríeu d'utilitzar aquesta eina com al darrer pas del procés de creació\n"
-"d'un llibre. Tingueu en compte que el polit només funciona en fitxers dels formats "
-"%s. Hauríeu d'utilitzar aquesta eina com al darrer pas del procés de creació "
+"del\n"
+"vostre llibre. Tingueu en compte que el polit de llibres només funciona en llibres en "
+"els\n"
+"formats %s. "
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446
#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
@@ -5512,11 +5625,11 @@ msgstr ""
msgid ""
" Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Insereix una pàgina de «sobrecoberta» al començament del llibre\n"
-"que conté totes les metadades com el títol, etiquetes, autors, sèrie,\n"
-"comentaris... Inserció d'una pàgina de «sobrecoberta» al començament del llibre\n"
+"que en contingui totes les metadades com el títol, etiquetes, autors,\n"
+"sèrie, comentaris... Es reemplaçarà qualsevol sobrecoberta anterior. Remove a previous inserted book jacket page. Note that this will never remove "
"all formats from a book."
@@ -6768,7 +6900,7 @@ msgstr ""
"Trieu els formats que no se suprimiran. Fixeu-vos que això no "
"suprimirà mai tots els formats d'un llibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. Si teniu EPUB i ORIGINAL_EPUB al llibre,\n"
+" el polit s'executarà a ORIGINAL_EPUB (el mateix amb\n"
+" els altres formats ORIGINAL_*). Si no voleu que el\n"
+" polit s'executi en el format ORIGINAL_*, suprimiu el\n"
+" format ORIGINAL_* abans d'executar-lo. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -7286,7 +7436,7 @@ msgstr ""
"metadades del calibre. Hi ha una opció per separat per actualitzar la "
"portada. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
@@ -7296,172 +7446,186 @@ msgstr ""
"portada actual de la biblioteca del calibre. Si el fitxer de llibre no "
"té una portada identificable, s'insereix una portada nova. Cannot upload books to device there is no more free space available "
msgstr " No es pot desar llibres al dispositiu perquè no hi ha prou espai "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr "Destinació incorrecta"
@@ -11187,7 +11388,7 @@ msgstr "Mostra la informació del dispositiu"
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11830,13 +12031,13 @@ msgid "Where do you want to delete from?"
msgstr "D'on voleu suprimir?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Biblioteca"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Dispositiu"
@@ -11872,8 +12073,8 @@ msgid "Location"
msgstr "Ubicació"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11892,13 +12093,13 @@ msgstr "%(curr)s (era %(initial)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "L'element està en blanc"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "No es pot deixar un element en blanc. En tot cas l'heu d'esborrar."
@@ -12008,7 +12209,7 @@ msgstr "Enllaça"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "No s'han trobat coincidències"
@@ -12056,12 +12257,12 @@ msgid "Copy to author"
msgstr "Copia a autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "El nom de l'autor no és vàlid"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Els noms d'autor no poden contenir caràcters &."
@@ -12163,40 +12364,40 @@ msgstr "&Oculta totes les tasques"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Copia al porta-retalls"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Mostra els &detalls"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Oculta els &detalls"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Mostra informació detallada quant a aquest error"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Copiat"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Mostra el registre"
@@ -13165,6 +13366,7 @@ msgstr "S'està interrompent..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -13204,12 +13406,12 @@ msgstr "Elements"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Cerca"
@@ -13875,12 +14077,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr "El port ha de ser un nombre entre 8000 i 32000."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr "Hi ha hagut un problema en iniciar el dispositiu sense fils"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr "No s'ha iniciat el dispositiu sense fils. El missatge és «%s»"
@@ -13940,6 +14142,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr "Permet connexions &automàticament a l'inici del calibre"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Editorial"
@@ -13954,6 +14157,7 @@ msgstr "Nom de la cerca de categoria: "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "El nom no és vàlid"
@@ -14872,7 +15076,7 @@ msgid "&Shortcut:"
msgstr "&Drecera:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Acabat"
@@ -14917,7 +15121,7 @@ msgstr "Cerca una drecera pel nom"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Cap coincidència"
@@ -14927,48 +15131,52 @@ msgstr "Cap coincidència"
msgid "Could not find any shortcuts matching %s"
msgstr "No s'ha trobat cap drecera que coincideixi amb %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Expulsa el dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr "Configureu aquest dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Mostra els llibres de la biblioteca del calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Mostra els llibres de la memòria principal del dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Mostra els llibres de la targeta de memòria A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Mostra els llibres de la targeta de memòria B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Esborra la biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "disponible"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr "Biblioteca virtual"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Cerca avançada"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Maj+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Feu clic a «Mostra "
"detalls» per veure tot el registre."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr "Portada actual"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "S'està cercant..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr "Visualitza la portada a mida completa"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr "S'està baixant portades per a %s, espereu..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"No s'ha pogut baixar cap portada. Feu clic a «Mostra detalls» per a més "
"informació."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr "No s'ha trobat cap portada per a %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-"S'ha trobat %(num)d portades per a %(title)s. Trieu la que us agradi "
-"més."
+"S'ha trobat %(num)d portades possibles per a %(title)s. Quan s'acabin "
+"de baixar s'ordenaran les portades per mida."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr "Descàrrega de les metadades..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Baixada de la portada..."
@@ -16148,9 +16362,11 @@ msgid "The Add &Process"
msgstr "Procés d'addició"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
-"En afegir automàticament ignora els fitxers amb les extensions següents "
+"En afegir automàticament, ignora els fitxers amb les extensions "
+"següents "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
msgid ""
@@ -16201,34 +16417,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr "&Addició automàtica"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Alt"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Baix"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Molt baix"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr "Compacta la metadades"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Per defecte"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr "Tot en una pestanya"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "S'ha reinicialitzat tot els diàlegs de confirmació"
@@ -16285,18 +16501,18 @@ msgid "Job &priority:"
msgstr "&Prioritat de les tasques:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Restriccions que s'aplicaran quan la biblioteca actual s'obri:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr "Biblioteca virtual que s'aplicarà en obrir la biblioteca actual:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Aplica aquesta restricció a l'inici del calibre si s'està fent servir la "
-"biblioteca actual. També s'aplica si es canvia a aquesta biblioteca. Tingueu "
-"en compte que aquest paràmetre és per a cada biblioteca. "
+"Utilitza aquesta biblioteca virtual a l'inici del calibre si s'està "
+"utilitzant la biblioteca actual. També s'aplica en canviar a aquesta "
+"biblioteca. Tingueu en compte que aquest paràmetre és per a cada biblioteca. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -17336,10 +17552,6 @@ msgstr "Desactivat"
msgid "Small"
msgstr "Petita"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Gran"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Mitjana"
@@ -17357,7 +17569,7 @@ msgid "Never"
msgstr "Mai"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Per inicial"
@@ -18505,20 +18717,20 @@ msgstr ""
"pot substituir personalitzant els connectors d'interfície de dispositiu a "
"Preferències->Avançat->Connectors"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "No s'ha pogut iniciar el servidor de continguts"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Registre d'error:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Registre d'accés:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Heu de reiniciar el servidor per tal que els canvis s'apliquin"
@@ -18559,23 +18771,23 @@ msgid "Max. &OPDS items per query:"
msgstr "Número màxim d'elements &OPDS per consulta:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Número màxim d'elements OPDS sense agr&upar:"
+msgid "Max. &ungrouped items:"
+msgstr "Màxim d'elements desa&grupats:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Restricció (cerca desada) que s'aplicarà:"
+msgid "Virtual library to apply:"
+msgstr "Biblioteca virtual que s'aplicarà:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Aquesta restricció (basada en un cerca desada) fa que el servidor de "
-"contingut només deixi disponibles els llibres que coincideixen amb la cerca. "
-"Aquest paràmetre és independent per a cada biblioteca (és a dir, podeu tenir "
-"restriccions diferents per a cada biblioteca)."
+"En establir una biblioteca virtual es restringeixen els llibres que el "
+"servidor de continguts ofereix als de la biblioteca. Aquest paràmetre és per "
+"a cada biblioteca (és a dir, podeu tenir un valor diferent a cada "
+"biblioteca)."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -19055,41 +19267,51 @@ 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:348
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Crea una cerca per desar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr "No hi ha cap cerca per desar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
msgid "Delete current search"
msgstr "Suprimeix la cerca actual"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
msgid "No search is selected"
msgstr "No s'ha seleccionat cap cerca"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
"La cerca seleccionada se suprimirà permanentmentVirtual Libraries Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Amb les biblioteques virtuals podeu fer que el calibre "
+"només mostri els llibres que\n"
+" coincideixen amb una cerca. Quan una biblioteca virtual està "
+"activa, el calibre es comporta\n"
+" com si la biblioteca comés contingués els llibres que "
+"coincideixen. El navegador d'etiquetes\n"
+" només mostra les etiquetes/autors/sèrie/... que corresponen als "
+"llibres coincidents i qualsevol\n"
+" cerca que feu només cercarà entre els llibres de la biblioteca "
+"virtual. És una bona manera de\n"
+" dividir una biblioteca gran en subgrups més petits i "
+"manejables. Per exemple, podeu utilitzar una biblioteca virtual per "
+"mostrar només els llibres amb l'etiqueta\n"
+" «No llegit» o les d'«el meu autor preferit» o "
+"només els s'una sèrie concreta. El registre es "
"mostrarà automàticament."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr "No s'ha pogut iniciar el servidor de continguts"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -20428,16 +20874,16 @@ msgstr ""
"el calibre intenti reconstruir-la automàticament? Pot ser que no es pugui "
"reconstruir totalment."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635
msgid "Conversion Error"
msgstr "Error de conversió"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656
#, python-format
msgid " Failed to convert: %s"
msgstr " No s'ha pogut convertir: %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -20477,23 +20923,23 @@ msgstr ""
" amb l'EPUB.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr "No s'ha pogut convertir"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Recepta inhabilitada"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Ha fallat"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Hi ha tasques actives. Segur que voleu sortir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s S'està migrant la base de dades antiga a la biblioteca de %s If you do not want calibre to recognize your Apple iDevice when it is connected to your computer, click Disable Apple Driver. To transfer books to your iDevice, click Disable Apple Driver, then use the 'Connect to iTunes' method recommended in the Calibre + iDevices FAQ, using the Connect/Share|Connect to iTunes menu item. Enabling the Apple driver for direct connection to iDevices is an unsupported advanced user mode. You should use this tool as the last step in your ebook creation process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid "All formats for the selected books will be deleted from your library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the cover in the ebook files to match the current metadata in the calibre library. Note that most ebook formats are not capable of supporting all the metadata in calibre. There is a separate option to update the cover. Update the covers in the ebook files to match the current cover in the calibre library. If the ebook file does not have an identifiable cover, a new cover is inserted. Search and replace uses regular expressions. See the regular expressions tutorial to get started with regular expressions. Also clicking the wizard button below will allow you to test your regular expression against the current input document. When you are happy with an expression, click the Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -8605,7 +8733,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:236
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:297
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1437
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1438
msgid "Undefined"
msgstr ""
@@ -8793,7 +8921,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -8837,78 +8965,78 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid "Could not upload the following books to the device, as no suitable formats were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid " Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9060,7 +9188,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:938
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -9516,7 +9644,8 @@ msgid "&Profile:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:247
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:248
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:483
#: /usr/src/qt-everywhere-opensource-src-4.8.4/src/gui/widgets/qdialogbuttonbox.cpp:658
msgid "&OK"
msgstr ""
@@ -9531,13 +9660,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -9560,7 +9689,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:305
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
msgid "Author"
msgstr ""
@@ -9589,13 +9718,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -9687,7 +9816,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -9735,12 +9864,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -9835,40 +9964,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1003
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -10098,7 +10227,7 @@ msgid "&Force numbers to start with:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:591
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1419
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1420
msgid "&Date:"
msgstr ""
@@ -10120,7 +10249,7 @@ msgid "Clear published date"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:600
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1188
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1187
msgid "&Languages:"
msgstr ""
@@ -10681,6 +10810,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:128
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -10713,12 +10843,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -11242,12 +11372,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -11296,6 +11426,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:129
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -11310,6 +11441,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:259
msgid "Invalid name"
msgstr ""
@@ -11463,44 +11595,44 @@ msgstr ""
msgid "Copy the selected color name to the clipboard"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:223
msgid "Author Sort"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:228
msgid "Tag 1"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:228
msgid "Tag 2"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:270
msgid "Template language tutorial"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:273
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:274
msgid "Template function reference"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:291
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:292
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:319
msgid "No column chosen"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:319
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:320
msgid "You must specify a column to be colored"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:323
msgid "No template provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:324
msgid "The template box cannot be empty"
msgstr ""
@@ -11899,7 +12031,7 @@ msgid "Regular expression (?P Search the list of books by title, author, publisher, tags, comments, etc. To see the full log, click Show Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:651
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:654
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:852
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:883
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:889
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:891
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
msgid "Found %(num)d possible covers for %(title)s. When the download completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:981
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1096
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -13232,7 +13394,7 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid "Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -13271,34 +13433,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -13345,11 +13507,11 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
-msgid "Apply this restriction on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. "
+msgid "Use this virtual library on calibre startup if the current library is being used. Also applied when switching to this library. Note that this setting is per library. "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
@@ -14194,7 +14356,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -14891,12 +15053,10 @@ msgid "Grouped search terms are search names that permit a query to autom
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:421
msgid "Match all"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:421
msgid "Match any"
msgstr ""
@@ -15066,20 +15226,20 @@ msgstr ""
msgid "Here you can control how calibre will save your books when you click the Send to Device button. This setting can be overriden for individual devices by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -15108,15 +15268,15 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
-msgid "This restriction (based on a saved search) will restrict the books the content server makes available to those matching the search. This setting is per library (i.e. you can have a different restriction per library)."
+msgid "Setting a virtual library will restrict the books the content server makes available to those in the library. This setting is per library (i.e. you can have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -15449,80 +15609,221 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
-msgid "The selected search will be permanently deleted. Are you sure?"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
-msgid "Search (For Advanced Search click the button to the left)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
-msgid "Start search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
-msgid "Enable or disable search highlighting."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
-msgid "Saved Searches"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
-msgid "Choose saved search or enter name for new saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
-msgid "Save current search under the name shown in the box. Press and hold for a pop-up options menu."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
+msgid "The selected search will be permanently deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
+msgid "Search (For Advanced Search click the button to the left)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
+msgid "Start search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:129
+msgid "Saved Searches"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
+msgid "Choose saved search or enter name for new saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
+msgid "Save current search under the name shown in the box. Press and hold for a pop-up options menu."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match any of the selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
-msgid "(all books)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21
-msgid "Books display will be restricted to those matching a selected saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54
-msgid " or the search "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88
-msgid "({0} of {1})"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:35
+#, python-format
+msgid "Match all of the selected %s names"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:97
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:102
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:115
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:123
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:136
+msgid ""
+"\n"
+" Using virtual libraries you can restrict calibre to only show\n"
+" you books that match a search. When a virtual library is in effect, calibre\n"
+" behaves as though the library contains only the matched books. The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the matched books and any searches\n"
+" you do will only search within the books in the virtual library. This\n"
+" is a good way to partition your large library into smaller and easier to work with subsets. For example you can use a Virtual Library to only show you books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in a particular series. Then choose a location inside the file. To do so, simply click on the place in the central panel that you want to use as the destination. As you move the mouse around the central panel, a thick green line appears, indicating the precise location that will be selected when you click."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:164
msgid "&Name of the ToC entry:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:162
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:170
msgid "Currently selected destination:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:208
msgid "No match found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:198
#, python-format
msgid "No match found for: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:204
#, python-format
msgid "No matches for %(text)s found in the current file [%(current)s]. Do you want to search in the %(which)s file [%(next)s]?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207
msgid "next"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:207
msgid "previous"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:223
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:281
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:286
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:298
msgid "File:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:283
msgid "Top of the file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:285
#, python-format
msgid "Approximately %d%% from the top"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:290
#, python-format
msgid "Location: A <%s> tag inside the file"
msgstr ""
@@ -16383,173 +16692,180 @@ msgstr ""
msgid "Flatten the Table of Contents, putting all entries at the top level"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:212
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:211
msgid "WARNING: calibre only supports the creation of linear ToCs in AZW3 files. In a linear ToC every entry must point to a location after the previous entry. If you create a non-linear ToC it will be automatically re-arranged inside the AZW3 file."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:228
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227
msgid "You can move this entry around the Table of Contents by drag and drop or using the up and down buttons to the left"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:248
msgid "Change the &location this entry points to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:252
msgid "&Remove this entry"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:262
msgid "New entry &inside this entry"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:265
msgid "New entry &above this entry"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:268
msgid "New entry &below this entry"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:273
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:272
msgid "&Flatten this entry"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:275
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:274
msgid "All children of this entry are brought to the same level as this entry."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:286
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:285
msgid "&Return to welcome screen"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:287
msgid "Go back to the top level view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:337
msgid "This entry points to an existing destination"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:341
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:340
msgid "The location this entry points to does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:519
-#, python-format
-msgid "Move \"%s\" up"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:521
-#, python-format
-msgid "Move \"%s\" down"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:522
-msgid "Remove all selected items"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524
#, python-format
-msgid "Unindent \"%s\""
+msgid "Move \"%s\" up"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:526
#, python-format
-msgid "Indent \"%s\""
+msgid "Move \"%s\" down"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:527
+msgid "Remove all selected items"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:529
+#, python-format
+msgid "Unindent \"%s\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:531
+#, python-format
+msgid "Indent \"%s\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:532
+msgid "Change the location this entry points to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:533
msgid "Change all selected items to title case"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:545
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552
msgid "Move current entry up [Ctrl+Up]"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:552
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559
msgid "Unindent the current entry [Ctrl+Left]"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:559
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:566
msgid "Remove all selected entries"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:573
+msgid "Indent the current entry [Ctrl+Right]"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:580
msgid "Move current entry down [Ctrl+Down]"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:575
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582
msgid "&Expand all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:586
msgid "&Collapse all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:582
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:589
msgid "Double click on an entry to change the text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:660
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:670
msgid "Title: {0} Dest: {1}{2}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:691
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:701
#, python-format
msgid ""
"The location this entry point to does not exist:\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:781
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:788
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:795
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:798
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:805
msgid "No items found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:782
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:792
msgid "No items were found that could be added to the Table of Contents."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:789
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:799
msgid "No links were found that could be added to the Table of Contents."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:796
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:806
msgid "No files were found that could be added to the Table of Contents."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:814
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:824
#, python-format
msgid "Edit the ToC in %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:830
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:840
#, python-format
msgid "Loading %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:865
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:876
#, python-format
msgid "Writing %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:873
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:884
msgid "Failed to write book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:874
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:885
#, python-format
msgid "Could not write %s. Click \"Show details\" for more information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:911
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:923
msgid "Failed to load book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:912
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:924
#, python-format
msgid "Could not load %s. Click \"Show details\" for more information."
msgstr ""
@@ -16618,40 +16934,40 @@ msgstr ""
msgid "The following books have already been converted to %s format. Do you wish to reconvert them?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206
msgid "&Donate to support calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:243
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:242
msgid "&Restore"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:248
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247
msgid "&Eject connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:252
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:251
msgid "Quit calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:264
msgid "Clear the current search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:370
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:368
msgid "Debug mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:371
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:369
#, python-format
msgid "You have started calibre in debug mode. After you quit calibre, the debug log will be available in the file: %s The log will be displayed automatically."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -16664,16 +16980,16 @@ msgstr ""
msgid "The library database at %s appears to be corrupted. Do you want calibre to try and rebuild it automatically? The rebuild may not be completely successful."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:637
msgid "Conversion Error"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:658
#, python-format
msgid " Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:659
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -16690,34 +17006,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:673
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:685
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:718
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:750
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:753
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
@@ -6304,50 +6428,50 @@ msgstr ""
"Vyberte formáty které nechcete smazat. Tato volba nikdy nesmaže "
"všechny formáty z knihy,"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6791,185 +6924,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
" Knihy není možné odeslat do zařízení pro nedostatek volného úložného "
"prostoru "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr "Nesprávné umístění"
@@ -10507,7 +10684,7 @@ msgstr "Zobrazit informace o zařízení"
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11109,13 +11286,13 @@ msgid "Where do you want to delete from?"
msgstr "Odkud chcete mazat?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Knihovna"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Zařízení"
@@ -11151,8 +11328,8 @@ msgid "Location"
msgstr "Umístění"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11171,13 +11348,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "Položka je prázdná"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "Položka nemůže být nastavena na nic. Smažte ji."
@@ -11284,7 +11461,7 @@ msgstr "Odkaz"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Nebyly nalezeny žádné výsledky"
@@ -11332,12 +11509,12 @@ msgid "Copy to author"
msgstr "Kopírovat k autorovi"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Neplatné jméno autora"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Jméno autora nemůže obsahovat znaky &."
@@ -11432,40 +11609,40 @@ msgstr "&Skrýt všechny úlohy"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Kopírovat do schránky"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Zobrazit &detaily"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Skrýt &detaily"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Zobrazit detailní informace o této chybě"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Kopírováno"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Zobrazit log"
@@ -12377,6 +12554,7 @@ msgstr "Ruším..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -12412,12 +12590,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Hledat"
@@ -13002,12 +13180,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -13059,6 +13237,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Vydavatelé"
@@ -13073,6 +13252,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Neplatné jméno"
@@ -13969,7 +14149,7 @@ msgid "&Shortcut:"
msgstr "&Zkratka"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Dokončeno"
@@ -14013,7 +14193,7 @@ msgstr "Hledej klávesovou zkratku podle jména"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Žádné shody"
@@ -14023,48 +14203,52 @@ msgstr "Žádné shody"
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Odpojit toto zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Zobrazit knihy z Calibre knihovny"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Zobrazit knihy z hlavní paměti zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Zobrazit knihy na paměťové kartě A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Zobrazit knihy na paměťové kartě B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Odstranit knihovnu"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "dostupné"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Rozšířené vyhledávání"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Shift+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Hledání v seznamu knih podle názvu, autora, vydavatele, štítků, "
"komentářů, atd. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr " Převedení selhalo: %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18955,23 +19345,23 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Zdroj zakázán"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Selhalo"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Prpbíha zpracování úloh. Opravdu chcete program ukončit?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migruji starou databázi do knihovy ebooků v %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6272,185 +6407,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9915,7 +10094,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10426,13 +10605,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10466,8 +10645,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10486,13 +10665,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10591,7 +10770,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10639,12 +10818,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10739,40 +10918,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11640,6 +11819,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11675,12 +11855,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12254,12 +12434,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12311,6 +12491,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12325,6 +12506,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13201,7 +13383,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13245,7 +13427,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13255,66 +13437,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18093,34 +18488,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6627,185 +6758,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
" Kan ikke uploade bøger til enheden, der er ikke mere fri plads "
"tilgængelig "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10332,7 +10507,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10857,13 +11032,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Bibliotek"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Enhed"
@@ -10899,8 +11074,8 @@ msgid "Location"
msgstr "Placering"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10919,13 +11094,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "Emne er blankt"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "Et emne kan ikke sættes til ingenting. Slet det istedet."
@@ -11026,7 +11201,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Ingen søgeresultater fundet"
@@ -11074,12 +11249,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Ugyldigt forfatternavn"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Forfatternavne kan ikke indeholde & tegnet."
@@ -11174,40 +11349,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Kopiér til udklipsholder"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Vis &detaljer"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Gem &detaljer"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Kopieret"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Vis log"
@@ -12127,6 +12302,7 @@ msgstr "Afbryder..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -12162,12 +12338,12 @@ msgstr "Elementer"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Søg"
@@ -12746,12 +12922,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12803,6 +12979,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Udgiver"
@@ -12817,6 +12994,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13714,7 +13892,7 @@ msgid "&Shortcut:"
msgstr "&Genvej:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Fuldført"
@@ -13758,7 +13936,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Ingen match"
@@ -13768,48 +13946,52 @@ msgstr "Ingen match"
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Skub denne enhed ud"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Vis bøger i calibre-bibliotek"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Vis bøger i enhedens arbejdshukommelse"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Vis bøger i hukommelseskort A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Vis bøger i hukommelseskort B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Slet bibliotek"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "tilgængelige"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Avanceret søgning"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Shift+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Søg i listen af bøger efter titel, forfatter, udgiver, mærker, "
"kommentarer, osv. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18726,23 +19110,23 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Opskrift deaktiveret"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Fejlede"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Der er aktive opgaver. Er du sikker på du vil afslutte?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Flytter gammel database til e-bogsbibliotek i %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Unter Bücher perfektionieren können Sie Ihrem sorgfältig "
-"gestalteten eBook \n"
-"den letzten Feinschliff verpassen.\n"
+" Den letzten Schliff geben ist alles, was die Bücher den Eindruck "
+"der Perfektion vermitteln lässt. Hier unter Bücher perfektionieren wird versucht, \n"
-"die Änderungen am internen Code Ihres Buches zu minimieren. \n"
-"Im Gegensatz zum Konvertieren werden CSS-Style, Dateiname, \n"
-"Schrift, Größe, eingestellte Ränder, usw. NICHT verändert. \n"
-"Jede Aktion führt nur die minimalst notwendigen Änderdungen durch,\n"
-"die zum Erzielen des gewünschten Resultats erforderlich sind. Das Polieren versucht, die Veränderungen im internen Code des Buches zu "
+"minimieren.\n"
+"Nicht wie bei der Konvertierung, vereinfacht es kein CSS, nennt keine "
+"Datein um, verändert die Schriftgrösse nicht, passt keine "
+"Einzüge an, etc. Alles führt nur dazu, dass eine minimale Anzahl Änderungen "
+"für den erwünschten Effekt benötigt werden. Sie sollten dieses Werkzeug im letzten Schritt des eBook- "
-"Erstellungsprozesses verwenden. Beachten Sie, dass nur Dateien in den Formaten %s perfektioniert werden "
-"können. Sie sollten dies als letzten Schritt bei der Erstellung Ihres E-Books "
+"verwenden. Merke, dass dies nur bei Büchern im %s Format funktioniert. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Fügt eine \"Buchumschlag\"-Seite zu Beginn des Buches ein, \n"
-"die alle Buch-Metadaten wie Titel, Tags, Autoren, Serien, Kommentare\n"
-"usw. enthält. Remove a previous inserted book jacket page. Note that this will never remove "
"all formats from a book."
@@ -6796,7 +6922,7 @@ msgstr ""
"Wählen Sie die Formate, die nicht gelöscht werden sollen. Beachten "
"Sie, dass dies niemals alle Formate eines Buches löscht."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -7319,7 +7458,7 @@ msgstr ""
"sind, alle Metadaten von Calibre zu unterstützen. Es gibt eine "
"spezielle Funktion, um das Coverbild zu aktualisieren. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
@@ -7329,174 +7468,185 @@ msgstr ""
"Coverbildern der Calibre Bibliothek übereinstimmen. Wenn die eBook-"
"Datei kein zu identifizierendes Coverbild hat, wird ein neues eingefügt. Cannot upload books to device there is no more free space available "
msgstr ""
" Es können keine Bücher mehr auf das Gerät geladen werden, da der "
"Gerätespeicher voll ist "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr "Falsches Ziel"
@@ -11252,7 +11447,7 @@ msgstr "Informationen zum Gerät anzeigen"
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11397,12 +11592,12 @@ msgstr "E&tiketten für neue Bücher auswäheln:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:50
#, python-format
msgid "Next [%s]"
-msgstr ""
+msgstr "Nächste(s) [%s]"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:52
#, python-format
msgid "Previous [%s]"
-msgstr ""
+msgstr "Vorherige(s) [%s]"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71
msgid "Fit &cover within view"
@@ -11900,13 +12095,13 @@ msgid "Where do you want to delete from?"
msgstr "Von wo möchten Sie löschen?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Bibliothek"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Gerät"
@@ -11942,8 +12137,8 @@ msgid "Location"
msgstr "Ort"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11962,13 +12157,13 @@ msgstr "%(curr)s (war %(initial)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "Eintrag ist leer"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
"Ein Element kann nicht auf nichts eingestellt werden. Löschen Sie es "
@@ -12080,7 +12275,7 @@ msgstr "Verknüpfung"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Keine Treffer gefunden"
@@ -12128,12 +12323,12 @@ msgid "Copy to author"
msgstr "Kopiere nach Autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Ungültiger Autorenname"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Autorennamen dürfen nicht das & Zeichen enthalten."
@@ -12237,40 +12432,40 @@ msgstr "&Verstecke alle Aufgaben"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "In &Zwischenablage kopieren"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "&Details anzeigen"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "&Details verbergen"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Detaillierte Informationen über diesen Fehler anzeigen"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Kopiert"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Log-Datei anschauen"
@@ -12612,6 +12807,13 @@ msgid ""
" the EPUB from ORIGINAL_EPUB. Useful if you did a bulk\n"
" conversion of a large number of books and something went wrong."
msgstr ""
+"Wenn eine Konvertierung in dasselbe Format, das jetzt schon vorhanden ist, "
+"stattfindet,\n"
+"z.B. EPUB nach EPUB, speichert Calibre die Original-Datei\n"
+" als ORIGINAL_EPUB. Diese Option lässt Calibre\n"
+" das EPUB von ORIGINAL_EPUB wiederherstellen. Nützlich,\n"
+" wenn Sie eine Massen-Konvertierung einer grossen Menge Bücher\n"
+" machen, und etwas schief geht."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:608
msgid "Restore pre conversion &originals, if available"
@@ -13237,6 +13439,7 @@ msgstr "Abbruch läuft ..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -13277,12 +13480,12 @@ msgstr "Elemente"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Suche"
@@ -13957,12 +14160,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr "Der Port muss eine Zahl zwischen 8000 und 32000 sein."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr "Problem beim Starten des wireless Gerätes"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr "Der Treiber für dratlose Geräte wurde nicht gestartet. Grund: \"%s\""
@@ -14022,6 +14225,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr "Verbindungen beim Start von Calibre &autmatisch erlauben"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Verlage"
@@ -14036,6 +14240,7 @@ msgstr "Suchname für Kategorie: "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Ungültiger Name"
@@ -14633,10 +14838,10 @@ msgid ""
"tooltips. Legt ein reguläre Ausdrücke Muster fest, welches verwendet wird, um eBook "
+" Legt ein regulärer Ausdruck-Muster fest, welches verwendet wird, um eBook "
"Metadaten aus Dateinamen zu erraten. Ein Tutorial "
-"für den Umgang mitregulären Ausdrücken ist verfügbar. Nutzen Sie die Test Funktion unten, um Ihre regulären Ausdrücke an "
"einigen Beispielnamen zu testen (denken Sie daran, auch die Dateiendungen "
"anzugeben). Die Gruppennamen für die unterschiedlichen Metadateneinträge "
@@ -14962,7 +15167,7 @@ msgid "&Shortcut:"
msgstr "Ta&stenkürzel:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Fertig"
@@ -15008,7 +15213,7 @@ msgstr "Suche einer Tastenkombination nach Namen"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Keine Treffer"
@@ -15018,48 +15223,52 @@ msgstr "Keine Treffer"
msgid "Could not find any shortcuts matching %s"
msgstr "Kann keine Tastenkombination mit %s finden"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Dieses Gerät auswerfen"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr "Dieses Gerät konfigurieren"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Bücher der Calibre Bibliothek anzeigen"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Zeige Bücher im Hauptspeicher des Geräts"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Zeige Bücher auf Speicherkarte A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Zeige Bücher auf Speicherkarte B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Bibliothek löschen"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "verfügbar"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr "Virtuelle Bibliothek"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Erweiterte Suche"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Shift+Strg+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Um das gesamte Log zu sehen, wählen Sie Details anzeigen."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr "Aktuelles Coverbild"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "Suche..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr "Dieses Cover in voller Größe anzeigen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr "Coverbilder für %s werden geladen, bitte warten Sie..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"Herunterladen von Coverbildern fehlgeschlagen, wählen Sie \"Details "
"anzeigen\" für Details."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr "Es wurden für %s keine Coverbilder gefunden"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-"%(num)d Coverbilder für %(title)s gefunden. Wählen Sie aus, welches "
-"Ihnen am besten gefällt."
+"Es wurden %(num)d mögliche Coverbilder für %(title)s gefunden. Nach "
+"Abschluss des Downloads werden die Cover nach Größe sortiert."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr "Lade Metadaten herunter..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Coverbilder werden geladen..."
@@ -16238,10 +16453,11 @@ msgid "The Add &Process"
msgstr "Der Hinzufügen &Prozess"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
-"Dateien mit den folgenden Erweiterungen beim automatischen Hinzufügen "
-"Ignorieren "
+"Dateien beim automatischen Hinzufügen ignorieren ,die folgende "
+"Endungen haben "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
msgid ""
@@ -16293,34 +16509,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr "&Automatisches Hinzufügen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Hoch"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Niedrig"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Sehr niedrig"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr "Kompakte Metadaten"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Voreinstellung"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr "Alles auf einem Tab"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Alle Bestätigungsdialoge wurden zurückgesetzt"
@@ -16376,19 +16592,17 @@ msgid "Job &priority:"
msgstr "Auftrags&priorität:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Einschränkungen beim Öffnen der aktuellen Bibliothek:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
+"Virtuelle Bibliothek zur Anwendung, wenn die aktuelle Bibliothek geöffnet "
+"ist:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Wendet diese Einschränkungen beim Start von Calibre an, wenn die aktuelle "
-"Bibliothek benutzt wird. Wird auch angewandt, wenn zu dieser Bibliothek "
-"gewechselt wird. Beachten Sie, dass diese Einstellung für jede Bibliothek "
-"individuell gilt. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -17437,10 +17651,6 @@ msgstr "Aus"
msgid "Small"
msgstr "Klein"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Groß"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Mittel"
@@ -17458,7 +17668,7 @@ msgid "Never"
msgstr "Nie"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Nach Anfangsbuchstaben"
@@ -17830,7 +18040,7 @@ msgstr "&Alles auswählen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:134
msgid "&Clear all"
-msgstr "&lösche alles"
+msgstr "A&lles abwählen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:135
msgid ""
@@ -18628,20 +18838,20 @@ msgstr ""
"Geräteschnittstellen- Plugin in Einstellungen->Erweitert->Plugins "
"überschrieben werden."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Inhalte-Server konnte nicht gestartet werden"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Fehler Log:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Zugriffs-Protokolldatei:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
"Sie müssen den Server neu starten, damit die Änderungen wirksam werden"
@@ -18683,23 +18893,19 @@ msgid "Max. &OPDS items per query:"
msgstr "Maximale &ODPS Einträge pro Anfrage:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Max. OPDS &ungeordnete Elemente:"
+msgid "Max. &ungrouped items:"
+msgstr "Max. &ungruppierte Posten"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Anzuwendende Einschränkung (gespeicherte Suche):"
+msgid "Virtual library to apply:"
+msgstr "Virtuelle Bibliothek zur Anwendung:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Diese Einschränkung (basierend auf einer gespeicherten Suche) schränkt ein, "
-"welche Bücher der Server bei einer Suche verfügbar macht. Diese Einstellung "
-"ist spezifisch für jede Bibliothek (d.h. Sie können je Bibliothek andere "
-"Einschränkungen haben)"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -19180,40 +19386,50 @@ msgstr "&Voreinstellungen wieder herstellen"
msgid "Apply any changes you made to this tweak"
msgstr "Änderungen auf diesen Kniff anwenden"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Gespeicherte Suche erstellen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr "Keine Suche zum Speichern vorhanden"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
msgid "Delete current search"
msgstr "Aktuelle Suche löschen"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
msgid "No search is selected"
msgstr "Keine Suche ausgewählt"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr "Die gewählte Suche wird dauerhaft gelöscht. Sind Sie sicher?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Suche (Zur erweiterten Suche die Schaltfläche links klicken)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr "Suche starten"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr "Hervorhebung von Suchergebnissen an- oder ausschalten"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Gespeicherte Suchergebnisse"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
"Gespeicherte Suche wählen oder Namen für neue gespeicherte Suche eingeben"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
@@ -19221,47 +19437,187 @@ msgstr ""
"Aktuelle Suche unter dem Namen speichern, der im Eingabefeld steht. Durch "
"drücken und gedrückt halten der Maustaste erscheint ein Optionenmenü."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr "Gespeicherte Suche erstellen"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr "Lösche gespeicherte Suche"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Gespeicherte Suchen verwalten"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Aktuelle Suche"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr "Erstelle eine virtuelle Bibliothek, basierend auf %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Beschränken auf"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr "Virtuelle Bibliothek speichern"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr "Virtuelle Bibliothek erstellen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr "&Name der Virtuellen Bibliothek"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr "&Suchausdruck:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr "Eine Virtuelle Bibliothek erstellen auf der Basis von: "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Das Protokoll wird "
"automatisch angezeigt."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr "Inhalts-Server konnte nicht gestartet werden"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -20545,16 +20966,16 @@ msgstr ""
"dass Calibre versucht diese automatisch wiederherzustellen? Die "
"Wiederherstellung könnte nicht komplett erfolgreich sein."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635
msgid "Conversion Error"
msgstr "Konvertierungsfehler"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656
#, python-format
msgid " Failed to convert: %s"
msgstr " Fehler beim Konvertieren von: %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -20595,24 +21016,24 @@ msgstr ""
"bekommt, wenn sie zu groß ist.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr "Konvertierung fehlgeschlagen"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Downloadschema ausgeschalten"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Fehlgeschlagen"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
"Es bestehen aktive Aufträge. Sind Sie sicher, dass Sie es beenden wollen?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migriere alte Datenbank zu eBook Bibliothek in %s Αδύνατη η επικοινωνία με το iTunes. Ανατρέξτε σε αυτό το "
+"μήνυμα του forum για περισσότερες πληροφορίες. You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
@@ -6012,65 +6181,67 @@ msgstr ""
"Επιλέξτε τους τύπους που δεν θα διαγραφούν. Αυτό ποτέ δεν "
"διαγράφει όλους τους τύπους ενός βιβλίου."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6479,185 +6661,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10122,7 +10348,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10633,13 +10859,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Βιβλιοθήκη"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Συσκευή"
@@ -10673,8 +10899,8 @@ msgid "Location"
msgstr "Τοποθεσία"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10693,13 +10919,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10798,7 +11024,7 @@ msgstr "Σύνδεσμος"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Δεν βρέθηκαν αντιστοιχίες."
@@ -10846,12 +11072,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10946,40 +11172,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Αντιγραφή στο πρόχειρο"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Εμφάνιση καταγραφής"
@@ -11016,7 +11242,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307
msgid "Regular Expression"
-msgstr ""
+msgstr "Κανονική Έκφραση"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:310
msgid "Replace field"
@@ -11847,6 +12073,7 @@ msgstr "Εγκατάλειψη..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11878,16 +12105,16 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:72
msgid "Items"
-msgstr ""
+msgstr "Τεμάχια"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Αναζήτηση"
@@ -12461,12 +12688,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12518,6 +12745,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Εκδόσεις"
@@ -12532,6 +12760,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Μη έγκυρο όνομα"
@@ -13408,7 +13637,7 @@ msgid "&Shortcut:"
msgstr "&Συντόμευση:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Ολοκληρώθηκε"
@@ -13452,7 +13681,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Καμία αντιστοιχία"
@@ -13462,66 +13691,70 @@ msgstr "Καμία αντιστοιχία"
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Εξαγωγή της συσκευής"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Εμφάνιση των βιβλίων της βιβλιοθήκης calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Εμφάνιση των βιβλίων στην κύρια μνήμη της συσκευής"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Εμφάνιση των βιβλίων στην κάρτα μνήμης Α"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Εμφάνιση των βιβλίων στην κάρτα μνήμης Β"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "διαθέσιμο"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Σύνθετη Αναζήτηση"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Shift+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18300,34 +18742,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Η συνταγή Απενεργοποιήθηκε"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Απέτυχε"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6266,185 +6401,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9909,7 +10088,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10420,13 +10599,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10460,8 +10639,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10480,13 +10659,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10585,7 +10764,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10633,12 +10812,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10733,40 +10912,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11634,6 +11813,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11669,12 +11849,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12248,12 +12428,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12305,6 +12485,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12319,6 +12500,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13195,7 +13377,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13239,7 +13421,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13249,66 +13431,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18087,34 +18482,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6337,185 +6472,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9980,7 +10159,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10491,13 +10670,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10531,8 +10710,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10551,13 +10730,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10656,7 +10835,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10704,12 +10883,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10804,40 +10983,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11705,6 +11884,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11740,12 +11920,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12319,12 +12499,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12376,6 +12556,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12390,6 +12571,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13266,7 +13448,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13310,7 +13492,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13320,66 +13502,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18158,34 +18553,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
@@ -6439,7 +6561,7 @@ msgstr ""
"Choose formats not to be deleted. Note that this will never remove "
"all formats from a book."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6941,185 +7072,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
" Cannot upload books to device there is no more free space available "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10714,7 +10889,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11322,13 +11497,13 @@ msgid "Where do you want to delete from?"
msgstr "Where do you want to delete from?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Library"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Device"
@@ -11364,8 +11539,8 @@ msgid "Location"
msgstr "Location"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11384,13 +11559,13 @@ msgstr "%(curr)s (was %(initial)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "Item is blank"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "An item cannot be set to nothing. Delete it instead."
@@ -11497,7 +11672,7 @@ msgstr "Link"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "No matches found"
@@ -11545,12 +11720,12 @@ msgid "Copy to author"
msgstr "Copy to author"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Invalid author name"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Author names cannot contain & characters."
@@ -11650,40 +11825,40 @@ msgstr "&Hide all jobs"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Copy to clipboard"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Show &details"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Hide &details"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Show detailed information about this error"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Copied"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "View log"
@@ -12629,6 +12804,7 @@ msgstr "Aborting..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -12667,12 +12843,12 @@ msgstr "Items"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Search"
@@ -13295,12 +13471,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -13352,6 +13528,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Publishers"
@@ -13366,6 +13543,7 @@ msgstr "Category lookup name: "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Invalid name"
@@ -14277,7 +14455,7 @@ msgid "&Shortcut:"
msgstr "&Shortcut:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Done"
@@ -14323,7 +14501,7 @@ msgstr "Search for a shortcut by name"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "No matches"
@@ -14333,48 +14511,52 @@ msgstr "No matches"
msgid "Could not find any shortcuts matching %s"
msgstr "Could not find any shortcuts matching %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Eject this device"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr "Configure this device"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Show books in calibre library"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Show books in the main memory of the device"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Show books on storage card A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Show books on storage card B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Delete library"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "available"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Advanced search"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Shift+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Search the list of books by title, author, publisher, tags, comments, "
"etc. To see the full log, click \"Show "
"Details\"."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr "Current cover"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "Searching..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr "Downloading covers for %s, please wait..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr "Failed to download any covers, click \"Show details\" for details."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr "Could not find any covers for %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-"Found %(num)d covers of %(title)s. Pick the one you like best."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr "Downloading metadata..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Downloading cover..."
@@ -15528,9 +15715,9 @@ msgid "The Add &Process"
msgstr "The Add &Process"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
-"Ignore files with the following extensions when automatically adding "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
msgid ""
@@ -15576,34 +15763,34 @@ msgstr "Automatically &convert added files to the current output format"
msgid "&Automatic Adding"
msgstr "&Automatic Adding"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "High"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Low"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Very low"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr "Compact Metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Default"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr "All on 1 tab"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Confirmation dialogues have all been reset"
@@ -15656,18 +15843,15 @@ msgid "Job &priority:"
msgstr "Job &priority:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Apply this restriction on calibre startup if the current library is being "
-"used. Also applied when switching to this library. Note that this setting is "
-"per library. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -16661,10 +16845,6 @@ msgstr "Off"
msgid "Small"
msgstr "Small"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Large"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Medium"
@@ -16682,7 +16862,7 @@ msgid "Never"
msgstr "Never"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "By first letter"
@@ -17789,20 +17969,20 @@ msgstr ""
"devices, by customising the device interface plug-ins in Preferences-"
">Advanced->Plug-ins"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Failed to start content server"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Error log:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Access log:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "You need to restart the server for changes to take effect"
@@ -17843,22 +18023,19 @@ msgid "Max. &OPDS items per query:"
msgstr "Max. &OPDS items per query:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -18319,40 +18496,50 @@ msgstr "Restore &default"
msgid "Apply any changes you made to this tweak"
msgstr "Apply any changes you made to this tweak"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Create saved search"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
msgid "Delete current search"
msgstr "Delete current search"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
msgid "No search is selected"
msgstr "No search is selected"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
"The selected search will be permanently deleted. Are you sure?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Search (For Advanced Search click the button to the left)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr "Start search"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr "Enable or disable search highlighting."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Saved Searches"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr "Choose saved search or enter name for new saved search"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
@@ -18360,46 +18547,185 @@ msgstr ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr "Create saved search"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr "Delete saved search"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Manage saved searches"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. The log will be displayed "
"automatically."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr "Failed to start Content Server"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -19631,16 +20013,16 @@ msgstr ""
"try and rebuild it automatically? The rebuild may not be completely "
"successful."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635
msgid "Conversion Error"
msgstr "Conversion Error"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656
#, python-format
msgid " Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -19663,23 +20045,23 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Recipe Disabled"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Failed"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "There are active jobs. Are you sure you want to quit?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6292,185 +6427,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9935,7 +10114,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10446,13 +10625,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10486,8 +10665,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10506,13 +10685,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10611,7 +10790,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10659,12 +10838,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10759,40 +10938,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11660,6 +11839,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11695,12 +11875,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12274,12 +12454,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12331,6 +12511,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12345,6 +12526,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13221,7 +13403,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13265,7 +13447,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13275,66 +13457,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18113,34 +18508,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Pulir libros le permite poner un toque de perfección en los "
"libros\n"
@@ -5483,12 +5595,12 @@ msgstr ""
"\n"
" Debería usar esta herramienta como el último paso en el proceso de\n"
"creación de un libro. Tenga en cuenta que esta acción sólo funciona con archivos en los\n"
-"formatos %s. Por ejemplo, si el libro usa un tipo de letra determinado para los "
-"encabezamientos, la reducción de caracteres mantendrá sólo los caracteres "
-"presentes en los encabezamientos del libro. O si un libro incluye las "
-"versiones negrita y cursiva de un tipo de letra, pero los textos en negrita "
-"o cursiva son infrecuentes o inexistentes, entonces los archivos "
-"correspondientes a las versiones negrita y cursiva pueden reducirse a unos "
-"pocos caracteres o incluso eliminarse por completo. Por ejemplo, si el libro usa un tipo de letra determinado para las "
+"cabeceras, la reducción de caracteres mantendrá sólo los caracteres "
+"presentes en las cabeceras del libro. O si un libro incluye las versiones "
+"negrita y cursiva de un tipo de letra, pero los textos en negrita o cursiva "
+"son infrecuentes o inexistentes, entonces los archivos correspondientes a "
+"las versiones negrita y cursiva pueden reducirse a unos pocos caracteres o "
+"incluso eliminarse por completo. La única desventaja de reducir los caracteres de los tipos de letra es "
"que si más adelante decide añadir más texto a los libros, el nuevo texto "
@@ -5538,12 +5650,11 @@ msgstr ""
msgid ""
" Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Insertar una página de «sobrecubierta» al principio del libro "
-"conteniendo\n"
+" Insertar una página de «sobrecubierta» al principio del libro con\n"
"todos los metadatos del libro, como título, etiquetas, autores, serie,\n"
-"comentarios, etc. Remove a previous inserted book jacket page. Note that this will never remove "
"all formats from a book."
@@ -6807,7 +6936,7 @@ msgstr ""
"Elegir los formatos que no se borrarán. Nunca se borrarán todos los "
"formatos de un libro."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. Si tiene tanto EPUB como ORIGINAL_EPUB en un libro, la acción de pulir se "
+"llevará a cabo sobre ORIGINAL_EPUB (igualmente sobre otros formatos "
+"ORIGINAL_*). Si desea que esto no ocurra, borre el formato ORIGINAL_* antes "
+"de pulir."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48
#, python-format
msgid " This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -7326,7 +7472,7 @@ msgstr ""
"mayoría de formatos de libro electrónico no admiten todos los metadatos de "
"calibre. Hay una opción aparte para actualizar la portada. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
@@ -7336,173 +7482,187 @@ msgstr ""
"en la biblioteca de calibre. Se insertará una nueva portada el archivo "
"no tiene una portada identificable. Cannot upload books to device there is no more free space available "
msgstr ""
" No se pueden enviar los libros debido a que no hay suficiente espacio "
"libre en el dispositivo "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr "Destino incorrecto"
@@ -11227,7 +11424,7 @@ msgstr "Mostrar información de dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11832,13 +12029,13 @@ msgid "Where do you want to delete from?"
msgstr "¿De dónde quiere borrar?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Biblioteca"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Dispositivo"
@@ -11874,8 +12071,8 @@ msgid "Location"
msgstr "Ubicación"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11894,13 +12091,13 @@ msgstr "%(curr)s (era %(initial)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "El elemento está en blanco"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "No puede establecerse un elemento en blanco. Bórrelo en su lugar."
@@ -12008,7 +12205,7 @@ msgstr "Enlace"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "No se encontraron coincidencias"
@@ -12056,12 +12253,12 @@ msgid "Copy to author"
msgstr "Copiar en autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Nombre de autor no válido"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Los nombres de autor no pueden contener «&»."
@@ -12163,40 +12360,40 @@ msgstr "Ocultar &todas las tareas"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Copiar al portapapeles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Mostrar &detalles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Ocultar &detalles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Mostrar información detallada sobre este error"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Copiado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Ver registro"
@@ -13163,6 +13360,7 @@ msgstr "Cancelando..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -13203,12 +13401,12 @@ msgstr "Ítems"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Buscar"
@@ -13870,12 +14068,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr "El puerto debe ser un número entero entre 8000 y 32000."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr "Problema al iniciar el dispositivo inalámbrico"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -13934,6 +14132,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr "&Permitir conexiones automáticamente al inicio de calibre"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Editoriales"
@@ -13948,6 +14147,7 @@ msgstr "Nombre de búsqueda de la categoría: "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Nombre no válido"
@@ -14876,7 +15076,7 @@ msgid "&Shortcut:"
msgstr "&Acceso rápido:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Hecho"
@@ -14923,7 +15123,7 @@ msgstr "Buscar un atajo por nombre"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Sin coincidencias"
@@ -14933,48 +15133,52 @@ msgstr "Sin coincidencias"
msgid "Could not find any shortcuts matching %s"
msgstr "No se encontró ningún atajo que coincida con %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Desconectar este dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr "Configurar este dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Mostrar los libros en la biblioteca de calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Mostrar los libros de la memoria principal del dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Mostrar los libros de la tarjeta de memoria A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Mostrar los libros de la tarjeta de memoria B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Eliminar biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "disponible"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr "Biblioteca virtual"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Búsqueda avanzada"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Mayús+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Para ver el registro "
"completo, pulse «Mostrar detalles»."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr "Portada actual"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "Buscando..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr "Ver esta portada a tamaño completo"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr "Descargando portadas para %s, espere..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"No se pudo descargar ninguna portada, pulse en «Mostrar detalles» para más "
"información."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr "No se encontró ninguna portada para %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-"Se encontraron %(num)d portadas para %(title)s. Escoja la que más le "
-"guste."
+"Se encontraron %(num)d posibles portadas para %(title)s. Cuando "
+"finalice la descarga, las portadas se ordenarán por tamaño."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr "Descargando metadatos..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Descargando portada..."
@@ -16148,9 +16358,11 @@ msgid "The Add &Process"
msgstr "&Proceso de adición"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
-"Al añadir automáticamente, ignorar archivos con las siguientes extensiones "
+"Al añadir automáticamente, ignorar archivos con las siguientes "
+"extensiones "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
msgid ""
@@ -16200,34 +16412,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr "&Adición automática"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Alta"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Baja"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Muy baja"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr "Metadatos compactos"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Predeterminado"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr "Todo en una pestaña"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Los diálogos de confirmación se han restablecido"
@@ -16284,18 +16496,19 @@ msgid "Job &priority:"
msgstr "&Prioridad de tareas:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Restricción que se aplicará cuando se abre la biblioteca actual:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
+"Biblioteca virtual que se aplicará cuando se abre la biblioteca actual:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Aplicar esta restricción al iniciar calibre si se está usando la biblioteca "
-"actual. También se aplica cuando se selecciona esta biblioteca. Tenga en "
-"cuenta que esta configuración es individual para cada biblioteca. "
+"Usar esta biblioteca virtual al iniciar calibre si la biblioteca actual está "
+"en uso. También se aplica al cambiar a esta biblioteca. Tenga en cuenta que "
+"esta opción es independiente para cada biblioteca "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -17335,10 +17548,6 @@ msgstr "Apagado"
msgid "Small"
msgstr "Pequeño"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Grande"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Medio"
@@ -17356,7 +17565,7 @@ msgid "Never"
msgstr "Nunca"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Por la primera letra"
@@ -18512,20 +18721,20 @@ msgstr ""
"dispositivos individuales configurando los complementos de interfaz de "
"dispositivo en Preferencias->Complementos"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Fallo al iniciar el servidor de contenidos"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Registro de errores:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Registro de accesos:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Debe reiniciar el servidor para que los cambios tengan efecto"
@@ -18565,23 +18774,22 @@ msgid "Max. &OPDS items per query:"
msgstr "Número máximo de elementos &OPDS por consulta:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "&Máximo número de elementos OPDS sin agrupar:"
+msgid "Max. &ungrouped items:"
+msgstr "Máximo número de elementos sin &agrupar:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Restricción (búsqueda guardada) para aplicar:"
+msgid "Virtual library to apply:"
+msgstr "Bibliotea virtual para aplicar:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Esta restricción (basada en una búsqueda guardada) hace que el servidor de "
-"contenidos muestre únicamente los libros seleccionados para la búsqueda. "
-"Esta configuración es independiente para cada biblioteca, es decir, puede "
-"tener una restricción distinta para cada biblioteca."
+"Al establecer una biblioteca virtual se restringirán los libros que puede "
+"ofrecer el servidor de contenido. Esta opción es independiente (puede tener "
+"un valor diferente) para cada biblioteca."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -19043,41 +19251,51 @@ msgstr "Restablecer valores por &defecto"
msgid "Apply any changes you made to this tweak"
msgstr "Aplicar los cambios realizados a este ajuste"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Crear búsqueda guardada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr "No hay búsqueda para guardar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
msgid "Delete current search"
msgstr "Borrar búsqueda actual"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
msgid "No search is selected"
msgstr "No hay ninguna búsqueda seleccionada"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
"La búsqueda seleccionada será borrada permanentemente. ¿Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Buscar (Para búsqueda avanzada, pulse el botón de la izquierda)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr "Iniciar búsqueda"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr "Activar o desactivar el resaltado de las búsquedas"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Búsquedas guardadas"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
"Elija una búsqueda guardada o asigne un nombre para guardar la nueva búsqueda"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
@@ -19085,47 +19303,208 @@ msgstr ""
"Guarda la búsqueda actual con el nombre que se muestra en el cuadro. "
"Mantenga el botón pulsado para obtener un menú emergente de opciones."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr "Crear búsqueda guardada"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr "Borrar búsqueda guardada"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Administrar búsquedas guardadas"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Búsqueda actual"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr "Crear una biblioteca virtual basada en %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Restringir a"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr "Escoger todos los nombres de %s seleccionados"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr "Editar biblioteca virtual"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr "Crear biblioteca virtual"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr "&Nombre de la biblioteca virtual:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr "Expresión de &búsqueda:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr "Crear biblioteca virtual basada en: "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Mediante el uso de bibliotecas virtuales puede hacerque calibre "
+"muestre sólo los libros que coincidan con una búsqueda. Cuando una "
+"biblioteca virtual está activa, calibre se comporta como si la biblioteca "
+"contuviera sólo los libros seleccionados. El explorador de etiquetas muestra "
+"sólo las etiquetas, autores, series, etc. presentes en los libros "
+"seleccionades y cualquier búsqueda realizada se aplica únicamente a los "
+"libros en la biblioteca virtual. Se trata de una buena manera de dividir una "
+"biblioteca grande en subconjuntos menores y más fáciles de manejar. Por ejemplo, puede usar una biblioteca virtual para mostrar sólo los "
+"libros con la etiqueta «No leído», o sólo los libros de «mi autor "
+"preferido», o sólo los libros de una serie concreta. Failed to convert: %s"
msgstr " Error al convertir: %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -20454,23 +20893,23 @@ msgstr ""
"su lector puede tener dificultades con el EPUB resultante.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr "Conversión fallida"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Fórmula desactivada"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Fallo"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
-msgstr "Hay tareas activas. ¿Está seguro de que quiere salir?"
+msgstr "Hay tareas activas. ¿Está seguro de querer salir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migrando la base de datos antigua a la biblioteca de libros electrónicos "
"en %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6322,185 +6457,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9981,7 +10160,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10492,13 +10671,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10532,8 +10711,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10552,13 +10731,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10657,7 +10836,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10705,12 +10884,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10805,40 +10984,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11706,6 +11885,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11741,12 +11921,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12320,12 +12500,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12377,6 +12557,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12391,6 +12572,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13267,7 +13449,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13311,7 +13493,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13321,66 +13503,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18161,34 +18556,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -7085,185 +7216,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
" Ezin da libururik kargatu irakurgailuan, ez dago leku libre nahikorik eta "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10814,7 +10989,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11348,13 +11523,13 @@ msgid "Where do you want to delete from?"
msgstr "Nondik ezabatu nahi duzu?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Liburutegia"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Gailua"
@@ -11390,8 +11565,8 @@ msgid "Location"
msgstr "Kokalekua"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11410,13 +11585,13 @@ msgstr "%(curr)s (zen %(initial)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "Elementua zuriz dago"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "Elementu bat ezin zaio ezerezari gehitu. Horren ordez, ezaba ezazu."
@@ -11519,7 +11694,7 @@ msgstr "Esteka"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Ez da bat datorrenik aurkitu"
@@ -11567,12 +11742,12 @@ msgid "Copy to author"
msgstr "Autorean kopiatu"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Baliogarria ez den egile izena"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Egile izenek ezin dute & karakterea eduki."
@@ -11667,40 +11842,40 @@ msgstr "Ezkutatu zeregin &guztiak"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "Arbelara &kopiatu"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Erakutsi &xehetasunak"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "&Ezkutatu xehetasunak"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Kopiaturik"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Erregistroa ikusi"
@@ -12633,6 +12808,7 @@ msgstr "Bertan behara uzten..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -12668,12 +12844,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Bilatu"
@@ -13257,12 +13433,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -13314,6 +13490,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Argitaletxeak"
@@ -13328,6 +13505,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -14228,7 +14406,7 @@ msgid "&Shortcut:"
msgstr "&Lasterbidea:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Egina"
@@ -14272,7 +14450,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -14282,48 +14460,52 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Irakurgailua deskonektatu"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Erakutsi liburuak calibre liburutegian"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Erakutsi liburuak irakurgailuaren memoria nagusian"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Erakutsi liburuak A memoria-txartelean"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Erakutsi liburuak B memoria-txartelean"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Ezabatu liburutegia"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "erabilgarria"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Bilaketa aurreratua"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Maius+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. hori "
"automatikoki erakutsiko da."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -19298,16 +19682,16 @@ msgid ""
"successful."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635
msgid "Conversion Error"
msgstr "Bihurketa akatsa"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656
#, python-format
msgid " Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -19330,24 +19714,24 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Formula desgaitua"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Huts egin du"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
"Oraintxe bertan lan batzuk egiten ari dira. Ziur zaude irten nahi duzula?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migrazioa egiten datu base zaharretik liburu elektronikoen liburutegira "
"zera honetan: %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6290,185 +6428,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9933,7 +10115,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10444,13 +10626,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10484,8 +10666,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10504,13 +10686,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10609,7 +10791,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10657,12 +10839,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10757,40 +10939,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11658,6 +11840,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11693,12 +11876,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12272,12 +12455,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12329,6 +12512,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12343,6 +12527,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13219,7 +13404,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13263,7 +13448,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13273,66 +13458,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18111,34 +18509,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6376,185 +6511,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10019,7 +10198,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10530,13 +10709,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10570,8 +10749,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10590,13 +10769,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10695,7 +10874,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10743,12 +10922,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10843,40 +11022,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11744,6 +11923,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11779,12 +11959,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12358,12 +12538,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12415,6 +12595,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Julkaisijat"
@@ -12429,6 +12610,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13305,7 +13487,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13349,7 +13531,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13359,66 +13541,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18197,34 +18592,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6260,185 +6395,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9903,7 +10082,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10454,8 +10633,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10474,13 +10653,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10579,7 +10758,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10627,12 +10806,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10727,40 +10906,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11628,6 +11807,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11663,12 +11843,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12313,6 +12494,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13189,7 +13371,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13233,7 +13415,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13243,66 +13425,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18081,34 +18476,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Insère une page \"jaquette\" au début du livre, qui contient toutes les "
-"métadonnées du livre telles que le titre, les étiquettes, les auteurs, les "
-"séries, les commentaires, etc. Remove a previous inserted book jacket page. Note that this will never remove "
"all formats from a book."
@@ -6852,7 +6972,7 @@ msgstr ""
"Choisir les formats à ne pas supprimer. Noter que ceci ne "
"supprimera jamais tous les formats d’un livre."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -7377,7 +7505,7 @@ msgstr ""
"Calibre. Il y a une option séparée pour mettre à jour la "
"couverture. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
@@ -7387,178 +7515,189 @@ msgstr ""
"la couverture actuelle dans la bibliothèque Calibre. Si le fichier du livre "
"n'a pas de couverture identifiable, une nouvelle couverture est insérée."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66
#, python-format
msgid " Cannot upload books to device there is no more free space available "
msgstr ""
" Impossible d’envoyer les livres sur le lecteur : il n’y a plus assez "
"d’espace mémoire disponible "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr "Destination incorrecte"
@@ -11298,7 +11470,7 @@ msgstr "Afficher les informations sur le périphérique"
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11747,7 +11919,7 @@ msgid ""
"sure?"
msgstr ""
"Les fichiers et répertoires marqués seront définitivement supprimés. "
-"Êtes-vous sûr(e) ?"
+"Êtes-vous sûr(e) ?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45
@@ -11938,13 +12110,13 @@ msgid "Where do you want to delete from?"
msgstr "A partir d’où voulez vous supprimer?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Bibliothèque"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Appareil"
@@ -11980,8 +12152,8 @@ msgid "Location"
msgstr "Emplacement"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -12000,13 +12172,13 @@ msgstr "%(curr)s (précédemment %(initial)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "L’article est vide"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
"Un article ne peut être défini à une valeur nulle. Supprimez le à la place."
@@ -12089,7 +12261,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:23
msgid "Duplicates found!"
-msgstr "Des doublons ont été détectés !"
+msgstr "Des doublons ont été détectés !"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:29
msgid ""
@@ -12118,7 +12290,7 @@ msgstr "Lien"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Aucun résultat"
@@ -12166,12 +12338,12 @@ msgid "Copy to author"
msgstr "Copier vers auteur"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Nom de l’auteur erroné"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Les noms d’auteurs ne peuvent pas contenir le caractère &"
@@ -12272,40 +12444,40 @@ msgstr "&Cacher toutes les tâches"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Copier dans le presse-papier"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Afficher &détails"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Cacher détails"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Afficher l’information détaillée à propos de cette erreur"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Copié"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr "Afficher le journal"
@@ -13279,6 +13451,7 @@ msgstr "Abandon…"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -13319,12 +13492,12 @@ msgstr "Articles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Trouver"
@@ -13404,7 +13577,7 @@ msgid ""
"The current saved search will be permanently deleted. Are you sure?"
msgstr ""
"La recherche sauvegardée actuelle sera définitivement supprimée. Êtes-"
-"vous sûr(e) ?"
+"vous sûr(e) ?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:94
msgid "Saved Search Editor"
@@ -13995,12 +14168,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr "Le port doit être un nombre compris entre 8000 et 32000"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr "Problème lors du démarrage du périphérique sans fil"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr "Le pilote du périphérique sans fil n'a pas démarré. Il dit \"%s\""
@@ -14060,6 +14233,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr "&Autoriser automatiquement les connexions au démarrage de Calibre"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Editeurs"
@@ -14074,6 +14248,7 @@ msgstr "Nom de recherche de la catégorie : "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Nom invalide"
@@ -14160,7 +14335,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:83
msgid "Are your sure?"
-msgstr "Êtes-vous sûr(e) ?"
+msgstr "Êtes-vous sûr(e) ?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:84
msgid ""
@@ -14168,7 +14343,7 @@ msgid ""
"to delete them?"
msgstr ""
"Les étiquettes suivantes sont utilisées par un livre ou plus. Êtes-vous "
-"certain de vouloir les supprimer ?"
+"certain de vouloir les supprimer ?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128
msgid "Tag Editor"
@@ -14423,7 +14598,7 @@ msgstr "Remplacer la recette?"
#, python-format
msgid "A custom recipe named %s already exists. Do you want to replace it?"
msgstr ""
-"Une recette personnalisée nommée %s existe déjà. Voulez-vous la remplacer ?"
+"Une recette personnalisée nommée %s existe déjà. Voulez-vous la remplacer ?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:288
msgid "Choose builtin recipe"
@@ -14636,7 +14811,7 @@ msgstr "Envoi d’un courriel à"
msgid "Auto convert the following books before sending via email?"
msgstr ""
"Convertir automatiquement les livres suivants avant de les envoyer par "
-"courriel ?"
+"courriel ?"
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:263
msgid ""
@@ -14976,8 +15151,8 @@ msgstr "Pas de travail sélectionné"
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:598
msgid "Do you really want to stop the selected job?"
msgid_plural "Do you really want to stop all the selected jobs?"
-msgstr[0] "Voulez-vous vraiment arrêter le travail sélectionné ?"
-msgstr[1] "Voulez-vous vraiment arrêter les travaux sélectionnés ?"
+msgstr[0] "Voulez-vous vraiment arrêter le travail sélectionné ?"
+msgstr[1] "Voulez-vous vraiment arrêter les travaux sélectionnés ?"
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:608
msgid "Do you really want to stop all non-device jobs?"
@@ -15002,7 +15177,7 @@ msgid "&Shortcut:"
msgstr "&Raccourci clavier :"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Terminé"
@@ -15048,7 +15223,7 @@ msgstr "Rechercher un raccourci par nom"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Pas de résultats"
@@ -15058,48 +15233,52 @@ msgstr "Pas de résultats"
msgid "Could not find any shortcuts matching %s"
msgstr "Impossible de trouver un raccourci correspondant à %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Ejecter cet appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr "Configurer cet appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Afficher les livres dans la bibliothèque calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Afficher les livres dans mémoire principale de l’appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Afficher les livres dans la carte mémoire A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Afficher les livres dans la carte mémoire B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Effacer la bibliothèque"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "disponible"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Recherche avancée"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Maj+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Pour "
"voir le journal en entier, cliquer Afficher Détails."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr "Couverture actuelle"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "Recherche en cours…"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr "Téléchargement des couvertures pour %s, veuillez patienter…"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"Impossible de télécharger toutes les couvertures, cliquer \"Afficher "
"détails\" pour les détails"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr "Impossible de trouver toutes les couvertures de %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-"%(num)d couvertures trouvées pour %(title)s. Choisir celle que vous "
-"préférez le mieux."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr "Télécharge les métadonnées…"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Télécharge la couverture…"
@@ -16284,10 +16467,9 @@ msgid "The Add &Process"
msgstr "Le processus d’&Ajout"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
-"Ignore les fichiers avec les extensions suivantes lors d'un ajout "
-"automatique "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
msgid ""
@@ -16339,34 +16521,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr "&Ajout automatique"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Haute"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Basse"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Très faible"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr "Compacter les Métadonnées"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Par défaut"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr "Tous dans un seul onglet"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Tous les dialogues de confirmation ont été réinitialisés"
@@ -16423,19 +16605,15 @@ msgid "Job &priority:"
msgstr "&Priorité du travail :"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
-"Restrictions à appliquer quand la bibliothèque actuelle est ouverte :"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Applique cette restriction au démarrage de calibre si la bibliothèque "
-"actuelle est utilisée. S’applique également au changement de bibliothèque. "
-"Notez que ce réglage est dépendant de la bibliothèque. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -17475,10 +17653,6 @@ msgstr "Désactivé"
msgid "Small"
msgstr "Petit"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Large"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Moyen"
@@ -17496,7 +17670,7 @@ msgid "Never"
msgstr "Jamais"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Par la première lettre"
@@ -17812,7 +17986,7 @@ msgid ""
msgstr ""
"Ce module d’extension est utile seulement pour les livres en langue "
"Chinoise. Il peut renvoyer des résultats incorrects pour des livres "
-"en Anglais. Êtes-vous sûr de vouloir l’activer ?"
+"en Anglais. Êtes-vous sûr de vouloir l’activer ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:158
msgid "Published date"
@@ -18046,7 +18220,7 @@ msgstr "Ce format et cet appareil ont déjà un tableau de connexions"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:205
msgid "Possibly override plugboard?"
-msgstr "Passer peut-être outre le tableau de connexions ?"
+msgstr "Passer peut-être outre le tableau de connexions ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:206
msgid ""
@@ -18055,7 +18229,7 @@ msgid ""
msgstr ""
"Un tableau de connexions plus général existe déjà pour ce format et cet "
"appareil. Êtes-vous certains que vous voulez ajouter le nouveau tableau de "
-"connexions ?"
+"connexions ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:218
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:240
@@ -18069,11 +18243,11 @@ msgid ""
msgstr ""
"Des tableaux de connexions plus spécifiques à cet appareil existent déjà "
"pour ce format. Êtes-vous certains de vouloir ajouter ce tableau de "
-"connexions ?"
+"connexions ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:230
msgid "Really add plugboard?"
-msgstr "Réellement ajouter ce tableau de connexions ?"
+msgstr "Réellement ajouter ce tableau de connexions ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:231
msgid ""
@@ -18082,7 +18256,7 @@ msgid ""
msgstr ""
"Un tableau de connexions différent correspond déjà à ce format et cet "
"appareil. Êtes-vous certains de vouloir ajouter ce nouveau tableau de "
-"connexions ?"
+"connexions ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:241
msgid ""
@@ -18091,7 +18265,7 @@ msgid ""
msgstr ""
"Des tableaux de connexions plus spécifiques à ce format et cet appareil "
"existent déjà, Êtes-vous certains de vouloir ajouter ce nouveau tableau de "
-"connexions ?"
+"connexions ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:252
msgid "The {0} device does not support the {1} format."
@@ -18246,7 +18420,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:368
#, python-format
msgid "Are you sure you want to remove the plugin: %s?"
-msgstr "Êtes-vous sûr de vouloir supprimer le plugin: %s ?"
+msgstr "Êtes-vous sûr de vouloir supprimer le plugin : %s ?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:373
msgid "Plugin {0} successfully removed"
@@ -18684,20 +18858,20 @@ msgstr ""
"d’extension de l’interface de l’appareil dans Préférences ▸ Avancé ▸ Modules "
"d’extension"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "A échoué lors du démarrage du serveur de contenu"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Journal d’erreur :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Journal des accès :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Vous devez redémarrer le serveur pour appliquer les changements"
@@ -18738,23 +18912,19 @@ msgid "Max. &OPDS items per query:"
msgstr "Nombre d’articles &OPDS max. par requête :"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Nombre max. d’articles OPDS &non groupés :"
+msgid "Max. &ungrouped items:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Restrictions (recherche sauvegardée) à appliquer :"
+msgid "Virtual library to apply:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Cette restriction (basée sur une recherche sauvegardée) restreindra les "
-"livres disponibles sur le serveur de contenu à ceux correspondant au "
-"résultat de cette recherche. Ce réglage est dépendant de la bibliothèque "
-"(c.a.d. que vous pouvez utiliser une restriction différente par bibliothèque)"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -19239,44 +19409,54 @@ msgstr "Restaurer la valeur par &défaut"
msgid "Apply any changes you made to this tweak"
msgstr "Appliquer les changements que vous avez effectués à ce réglage"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Créer la recherche sauvegardée"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
msgid "Delete current search"
msgstr "Supprimer la recherche actuelle"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
msgid "No search is selected"
msgstr "Aucune recherche n’est sélectionnée"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
"La recherche sélectionnée sera définitivement effacée. Êtes-vous sûr "
-"de vouloir continuer?"
+"de vouloir continuer ?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
"Recherche (pour une recherche avancée cliquer sur le bouton à gauche)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr "Lancer la recherche"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr "Activer ou désactiver le surlignage de la recherche."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Recherches sauvegardées"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
"Choisir la recherche sauvegardée ou entrer un nom pour une nouvelle "
"recherche à enregistrer"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
@@ -19284,47 +19464,185 @@ msgstr ""
"Enregistrer la recherche actuelle avec le nom affiché dans la boîte. Appuyer "
"et maintenir pour un menu contextuel d’options."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr "Créer la recherche sauvegardée"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr "Supprimer la recherche sauvegardée"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Gérer les recherches sauvegardées"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Recherche courante"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Limiter à"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Le "
"journal sera affiché automatiquement."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr "Erreur lors du démarage du serveur de contenu"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -20582,19 +20956,19 @@ msgid ""
"successful."
msgstr ""
"La base de données de votre bibliothèque %s semble être corrompue. Voulez "
-"vous que calibre tente de la reconstruire automatiquement? Cette "
+"vous que calibre tente de la reconstruire automatiquement ? Cette "
"reconstruction peut partiellement échouer."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635
msgid "Conversion Error"
msgstr "Erreur lors de la conversion"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656
#, python-format
msgid " Failed to convert: %s"
msgstr " Échec de la conversion de : %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -20636,38 +21010,38 @@ msgstr ""
"votre liseuse.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr "La conversion a échouée"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Recette désactivée"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Échoué"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
-msgstr "Il y a des travaux actifs. Voulez-vous vraiment quitter?"
+msgstr "Il y a des travaux actifs. Voulez-vous vraiment quitter ?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migre l’ancienne base vers la bibliothèque dans %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6312,185 +6447,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9955,7 +10134,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10466,13 +10645,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10506,8 +10685,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10526,13 +10705,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10631,7 +10810,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10679,12 +10858,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10779,40 +10958,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11680,6 +11859,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11715,12 +11895,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12294,12 +12474,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12351,6 +12531,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12365,6 +12546,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13241,7 +13423,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13285,7 +13467,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13295,66 +13477,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18133,34 +18528,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6263,185 +6398,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9906,7 +10085,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10417,13 +10596,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10457,8 +10636,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10477,13 +10656,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10582,7 +10761,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10630,12 +10809,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10730,40 +10909,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11631,6 +11810,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11666,12 +11846,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12245,12 +12425,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12302,6 +12482,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12316,6 +12497,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13192,7 +13374,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13236,7 +13418,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13246,66 +13428,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18084,34 +18479,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6811,185 +6962,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
" Non é posíbel enviar libros ao dispositivo xa que non ten espazo libre "
"dispoñíbel. "
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -10542,7 +10737,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -11128,13 +11323,13 @@ msgid "Where do you want to delete from?"
msgstr "De onde quere borrar?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr "Biblioteca"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr "Dispositivo"
@@ -11170,8 +11365,8 @@ msgid "Location"
msgstr "Localización"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -11190,13 +11385,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr "O elemento está en branco"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr "Un elemento non se pode deixar en branco. Elimíneo no seu canto."
@@ -11302,7 +11497,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr "Non se atopou ningunha coincidencia"
@@ -11350,12 +11545,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr "Nombre de autor incorrecto"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr "Os nomes de autores non poden conter caracteres «&»."
@@ -11456,40 +11651,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr "&Copiar no portapapeis"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr "Mostrar &detalles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr "Ocultar &detalles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr "Mostrar información detallada sobre este erro"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr "Copiado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -12430,6 +12625,7 @@ msgstr "Interrumpindo..."
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -12465,12 +12661,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr "Buscar"
@@ -13100,12 +13296,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -13157,6 +13353,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "Editores"
@@ -13171,6 +13368,7 @@ msgstr "Nome de busca da categoría: "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr "Nome non válido"
@@ -14075,7 +14273,7 @@ msgid "&Shortcut:"
msgstr "&Atallo:"
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr "Feito"
@@ -14119,7 +14317,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr "Non hai coincidencias"
@@ -14129,48 +14327,52 @@ msgstr "Non hai coincidencias"
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr "Extraer o dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr "Amosar os libros na biblioteca do Calibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr "Amosar os libros na memoria principal do dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr "Amosar os libros almacenados na tarxeta A"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr "Amosar os libros almacenados na tarxeta B"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr "Eliminar biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr "dispoñíbel"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr "Busca avanzada"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr "Maiús+Ctrl+F"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. O rexistro mostrarase "
"automaticamente."
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409
msgid "Failed to start Content Server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410
#, python-format
msgid ""
"Could not start the content server. Error:\n"
@@ -19274,16 +19678,16 @@ msgid ""
"successful."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635
msgid "Conversion Error"
msgstr "Produciuse un erro de conversión"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656
#, python-format
msgid " Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -19306,23 +19710,23 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr "Receita desactivada"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr "Fallou"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Hai traballos en activo. Está seguro de querer saír?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s Migrando a base de datos antiga á biblioteca de libros electrónicos en "
"%s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6260,185 +6395,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9903,7 +10082,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10454,8 +10633,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10474,13 +10653,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10579,7 +10758,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10627,12 +10806,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10727,40 +10906,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11628,6 +11807,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11663,12 +11843,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr ""
@@ -12313,6 +12494,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13189,7 +13371,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13233,7 +13415,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13243,66 +13425,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18081,34 +18476,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s You should use this tool as the last step in your ebook creation "
"process. Note that polishing only works on files in the %s formats. Note that polishing only works on files in the %s formats. Insert a \"book jacket\" page at the start of the book that contains\n"
"all the book metadata such as title, tags, authors, series, comments,\n"
-"etc. Note that this will never remove "
"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library. If you have both EPUB and ORIGINAL_EPUB in your book,\n"
+" then polishing will run on ORIGINAL_EPUB (the same for "
+"other\n"
+" ORIGINAL_* formats). So if you\n"
+" want Polishing to not run on the ORIGINAL_* format, delete "
+"the\n"
+" ORIGINAL_* format before running it. This will update all metadata except the "
"cover in the ebook files to match the current metadata in the calibre "
@@ -6318,185 +6453,196 @@ msgid ""
"cover. Update the covers in the ebook files to match the current cover in the "
"calibre library. If the ebook file does not have an identifiable "
"cover, a new cover is inserted. Cannot upload books to device there is no more free space available "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553
msgid "Incorrect destination"
msgstr ""
@@ -9961,7 +10140,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227
msgid "Copy to clipboard"
@@ -10472,13 +10651,13 @@ msgid "Where do you want to delete from?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236
msgid "Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
msgid "Device"
msgstr ""
@@ -10512,8 +10691,8 @@ msgid "Location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365
@@ -10532,13 +10711,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954
msgid "Item is blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955
msgid "An item cannot be set to nothing. Delete it instead."
msgstr ""
@@ -10637,7 +10816,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753
msgid "No matches found"
msgstr ""
@@ -10685,12 +10864,12 @@ msgid "Copy to author"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004
msgid "Invalid author name"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005
msgid "Author names cannot contain & characters."
msgstr ""
@@ -10785,40 +10964,40 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52
msgid "&Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57
msgid "Show &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58
msgid "Hide &details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62
msgid "Show detailed information about this error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602
msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075
-#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128
+#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49
msgid "View log"
msgstr ""
@@ -11686,6 +11865,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113
@@ -11721,12 +11901,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283
msgid "Search"
msgstr ""
@@ -12300,12 +12480,12 @@ msgid "The port must be a number between 8000 and 32000."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392
msgid "Problem starting the wireless device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393
#, python-format
msgid "The wireless device driver did not start. It said \"%s\""
msgstr ""
@@ -12357,6 +12537,7 @@ msgid "&Automatically allow connections at calibre startup"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164
msgid "Publishers"
msgstr "מוציאים לאור"
@@ -12371,6 +12552,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256
msgid "Invalid name"
msgstr ""
@@ -13247,7 +13429,7 @@ msgid "&Shortcut:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169
msgid "Done"
msgstr ""
@@ -13291,7 +13473,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365
msgid "No matches"
msgstr ""
@@ -13301,66 +13483,70 @@ msgstr ""
msgid "Could not find any shortcuts matching %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57
msgid "Eject this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60
msgid "Configure this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73
msgid "Show books in calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75
msgid "Show books in the main memory of the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
msgid "Show books in storage card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
msgid "Show books in storage card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147
msgid "available"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176
+msgid "Virtual Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198
msgid "Advanced search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193
msgid "Shift+Ctrl+F"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203
msgid ""
" Search the list of books by title, author, publisher, tags, comments, "
"etc. Using virtual libraries you can restrict calibre to "
+"only show\n"
+" you books that match a search. When a virtual library is in "
+"effect, calibre\n"
+" behaves as though the library contains only the matched books. "
+"The Tag Browser\n"
+" display only the tags/authors/series/etc. that belong to the "
+"matched books and any searches\n"
+" you do will only search within the books in the virtual library. "
+"This\n"
+" is a good way to partition your large library into smaller and "
+"easier to work with subsets. For example you can use a Virtual Library to only show you "
+"books with the Tag \"Unread\"\n"
+" or only books by \"My Favorite Author\" or only books in "
+"a particular series. Failed to convert: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657
msgid ""
"\n"
" Many older ebook reader devices are incapable of displaying\n"
@@ -18139,34 +18534,34 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671
msgid "Conversion Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683
msgid "Recipe Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751
msgid ""
" is communicating with the device! Migrating old database to ebook library in %s
They can be any words '
@@ -1174,7 +1174,6 @@ def edit(self, db, id_):
self.current_val = d.tags
self.all_items = db.all_tags()
-
def commit(self, db, id_):
self.books_to_refresh |= db.set_tags(
id_, self.current_val, notify=False, commit=False,
@@ -1183,7 +1182,7 @@ def commit(self, db, id_):
# }}}
-class LanguagesEdit(LE): # {{{
+class LanguagesEdit(LE): # {{{
LABEL = _('&Languages:')
TOOLTIP = _('A comma separated list of languages for this book')
@@ -1194,8 +1193,10 @@ def __init__(self, *args, **kwargs):
@dynamic_property
def current_val(self):
- def fget(self): return self.lang_codes
- def fset(self, val): self.lang_codes = val
+ def fget(self):
+ return self.lang_codes
+ def fset(self, val):
+ self.lang_codes = val
return property(fget=fget, fset=fset)
def initialize(self, db, id_):
@@ -1221,7 +1222,7 @@ def commit(self, db, id_):
return True
# }}}
-class IdentifiersEdit(QLineEdit): # {{{
+class IdentifiersEdit(QLineEdit): # {{{
LABEL = _('I&ds:')
BASE_TT = _('Edit the identifiers for this book. '
'For example: \n\n%s')%(
@@ -1309,7 +1310,7 @@ def paste_isbn(self):
# }}}
-class ISBNDialog(QDialog) : # {{{
+class ISBNDialog(QDialog): # {{{
def __init__(self, parent, txt):
QDialog.__init__(self, parent)
@@ -1320,7 +1321,7 @@ def __init__(self, parent, txt):
l.addWidget(w, 0, 0, 1, 2)
w = QLabel(_('ISBN:'))
l.addWidget(w, 1, 0, 1, 1)
- self.line_edit = w = QLineEdit();
+ self.line_edit = w = QLineEdit()
w.setText(txt)
w.selectAll()
w.textChanged.connect(self.checkText)
@@ -1361,7 +1362,7 @@ def text(self):
# }}}
-class PublisherEdit(EditWithComplete): # {{{
+class PublisherEdit(EditWithComplete): # {{{
LABEL = _('&Publisher:')
def __init__(self, parent):
@@ -1388,7 +1389,7 @@ def fset(self, val):
def initialize(self, db, id_):
self.books_to_refresh = set([])
all_publishers = db.all_publishers()
- all_publishers.sort(key=lambda x : sort_key(x[1]))
+ all_publishers.sort(key=lambda x: sort_key(x[1]))
self.update_items_cache([x[1] for x in all_publishers])
publisher_id = db.publisher_id(id_, index_is_id=True)
inval = ''
@@ -1421,7 +1422,7 @@ class DateEdit(QDateTimeEdit):
ATTR = 'timestamp'
TWEAK = 'gui_timestamp_display_format'
- def __init__(self, parent):
+ def __init__(self, parent, create_clear_button=True):
QDateTimeEdit.__init__(self, parent)
self.setToolTip(self.TOOLTIP)
self.setWhatsThis(self.TOOLTIP)
@@ -1435,10 +1436,11 @@ def __init__(self, parent):
self.setCalendarWidget(self.cw)
self.setMinimumDateTime(UNDEFINED_QDATETIME)
self.setSpecialValueText(_('Undefined'))
- self.clear_button = QToolButton(parent)
- self.clear_button.setIcon(QIcon(I('trash.png')))
- self.clear_button.setToolTip(_('Clear date'))
- self.clear_button.clicked.connect(self.reset_date)
+ if create_clear_button:
+ self.clear_button = QToolButton(parent)
+ self.clear_button.setIcon(QIcon(I('trash.png')))
+ self.clear_button.setToolTip(_('Clear date'))
+ self.clear_button.clicked.connect(self.reset_date)
def reset_date(self, *args):
self.current_val = None
diff --git a/src/calibre/gui2/metadata/diff.py b/src/calibre/gui2/metadata/diff.py
new file mode 100644
index 0000000000..477743aa7a
--- /dev/null
+++ b/src/calibre/gui2/metadata/diff.py
@@ -0,0 +1,557 @@
+#!/usr/bin/env python
+# vim:fileencoding=utf-8
+from __future__ import (unicode_literals, division, absolute_import,
+ print_function)
+
+__license__ = 'GPL v3'
+__copyright__ = '2013, Kovid Goyal
%s' % (d, p)
-
def data(self, index, role):
row, col = index.row(), index.column()
try:
@@ -233,7 +232,7 @@ def dategetter(x):
# }}}
-class ResultsView(QTableView): # {{{
+class ResultsView(QTableView): # {{{
show_details_signal = pyqtSignal(object)
book_selected = pyqtSignal(object)
@@ -316,7 +315,7 @@ def get_result(self):
# }}}
-class Comments(QWebView): # {{{
+class Comments(QWebView): # {{{
def __init__(self, parent=None):
QWebView.__init__(self, parent)
@@ -384,7 +383,7 @@ def sizeHint(self):
return QSize(800, 300)
# }}}
-class IdentifyWorker(Thread): # {{{
+class IdentifyWorker(Thread): # {{{
def __init__(self, log, abort, title, authors, identifiers, caches):
Thread.__init__(self)
@@ -441,7 +440,7 @@ def run(self):
# }}}
-class IdentifyWidget(QWidget): # {{{
+class IdentifyWidget(QWidget): # {{{
rejected = pyqtSignal()
results_found = pyqtSignal()
@@ -552,12 +551,11 @@ def process_results(self):
self.results_view.show_results(self.worker.results)
self.results_found.emit()
-
def cancel(self):
self.abort.set()
# }}}
-class CoverWorker(Thread): # {{{
+class CoverWorker(Thread): # {{{
def __init__(self, log, abort, title, authors, identifiers, caches):
Thread.__init__(self)
@@ -609,7 +607,8 @@ def run_fork(self):
def scan_once(self, tdir, seen):
for x in list(os.listdir(tdir)):
- if x in seen: continue
+ if x in seen:
+ continue
if x.endswith('.cover') and os.path.exists(os.path.join(tdir,
x+'.done')):
name = x.rpartition('.')[0]
@@ -635,7 +634,7 @@ def monitor_tdir(self, tdir):
# }}}
-class CoversModel(QAbstractListModel): # {{{
+class CoversModel(QAbstractListModel): # {{{
def __init__(self, current_cover, parent=None):
QAbstractListModel.__init__(self, parent)
@@ -770,7 +769,7 @@ def cover_pixmap(self, index):
# }}}
-class CoversView(QListView): # {{{
+class CoversView(QListView): # {{{
chosen = pyqtSignal()
@@ -793,6 +792,8 @@ def __init__(self, current_cover, parent=None):
type=Qt.QueuedConnection)
self.doubleClicked.connect(self.chosen, type=Qt.QueuedConnection)
+ self.setContextMenuPolicy(Qt.CustomContextMenu)
+ self.customContextMenuRequested.connect(self.show_context_menu)
def select(self, num):
current = self.model().index(num)
@@ -814,9 +815,24 @@ def clear_failed(self):
else:
self.select(self.m.index_from_pointer(pointer).row())
+ def show_context_menu(self, point):
+ idx = self.currentIndex()
+ if idx and idx.isValid() and not idx.data(Qt.UserRole).toPyObject():
+ m = QMenu()
+ m.addAction(QIcon(I('view.png')), _('View this cover at full size'), self.show_cover)
+ m.exec_(QCursor.pos())
+
+ def show_cover(self):
+ idx = self.currentIndex()
+ pmap = self.model().cover_pixmap(idx)
+ if pmap is not None:
+ from calibre.gui2.viewer.image_popup import ImageView
+ d = ImageView(self, pmap, unicode(idx.data(Qt.DisplayRole).toString()), geom_name='metadata_download_cover_popup_geom')
+ d(use_exec=True)
+
# }}}
-class CoversWidget(QWidget): # {{{
+class CoversWidget(QWidget): # {{{
chosen = pyqtSignal()
finished = pyqtSignal()
@@ -922,7 +938,7 @@ def cover_pixmap(self):
# }}}
-class LogViewer(QDialog): # {{{
+class LogViewer(QDialog): # {{{
def __init__(self, log, parent=None):
QDialog.__init__(self, parent)
@@ -970,7 +986,7 @@ def update_log(self):
# }}}
-class FullFetch(QDialog): # {{{
+class FullFetch(QDialog): # {{{
def __init__(self, current_cover=None, parent=None):
QDialog.__init__(self, parent)
@@ -1085,7 +1101,7 @@ def start(self, title=None, authors=None, identifiers={}):
return self.exec_()
# }}}
-class CoverFetch(QDialog): # {{{
+class CoverFetch(QDialog): # {{{
def __init__(self, current_cover=None, parent=None):
QDialog.__init__(self, parent)
diff --git a/src/calibre/gui2/preferences/adding.ui b/src/calibre/gui2/preferences/adding.ui
index b98a476864..8b9b9c0cd1 100644
--- a/src/calibre/gui2/preferences/adding.ui
+++ b/src/calibre/gui2/preferences/adding.ui
@@ -164,7 +164,7 @@ Author matching is exact.
Virtual Libraries
+
+
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1871,7 +1910,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1880,11 +1919,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1904,55 +1943,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Kommunikeer met die Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Kommunikeer met die Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Kommunikeer met die VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Kommunikeer met die GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Kommunikeer met die Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Kommunikeer met die Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Kommunikeer met die Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Kommunikeer met die EEE-leser"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Kommunikeer met die Adam-tablet"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Kommunikeer met die Nextbook-leser"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Kommunikeer met die Moovybook-leser"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Kommunikeer met die COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Kommunikeer met die Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2077,7 +2116,7 @@ msgstr "Die Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Kommunikeer met die Nook eBoek-leser"
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Kommunikeer met die Nook Color, TSR en Tablet eBoek-lesers."
@@ -2558,7 +2597,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2867,23 +2906,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3171,15 +3210,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4133,7 +4176,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4157,27 +4200,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4213,13 +4256,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4228,9 +4272,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4240,7 +4285,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4252,8 +4297,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4365,60 +4410,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4426,13 +4471,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4442,6 +4505,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4501,12 +4605,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4533,72 +4637,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4607,14 +4711,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4639,12 +4743,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5972,12 +6096,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6061,8 +6185,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6098,7 +6222,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6168,15 +6292,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6281,17 +6405,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6595,7 +6741,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6700,7 +6846,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6712,30 +6858,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6745,11 +6891,11 @@ msgid ""
"ebook.com/about#drm\">DRM
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13355,32 +13541,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13389,30 +13575,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13517,7 +13703,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14015,7 +14201,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14160,15 +14346,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14176,27 +14362,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14204,38 +14390,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14376,7 +14568,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14419,34 +14612,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14495,12 +14688,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15413,10 +15606,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15434,7 +15623,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16402,20 +16591,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16448,18 +16637,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16834,83 +17023,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18689,29 +19084,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19959,44 +20354,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20005,59 +20400,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20068,28 +20463,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20099,11 +20504,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20113,15 +20518,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20136,7 +20541,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20146,40 +20551,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20190,28 +20595,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20222,13 +20627,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20248,11 +20653,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20263,30 +20668,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20298,17 +20703,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20317,27 +20722,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20347,15 +20752,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20368,40 +20773,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20415,13 +20820,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20429,34 +20834,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20471,18 +20876,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20490,33 +20895,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20539,31 +20944,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1945,7 +1984,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1954,11 +1993,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1978,55 +2017,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "التواصل مع سو/كوغان/Q600/غمزة"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "التواصل مع رواية Pandigital"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "التواصل مع فيلوسيتيميكرو"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "التواصل مع GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "التواصل مع شركة أيسر لوميريد"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "التواصل مع اللون الوراتيك"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "التواصل مع تريكستور"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "التواصل مع القارئ المعدات الكهربائية والإلكترونية"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "التواصل مع الكمبيوتر اللوحي آدم"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "التواصل مع القارئ نيكستبوك"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "التواصل مع القارئ موفيبوك"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2151,7 +2190,7 @@ msgstr "جهاز الـNook"
msgid "Communicate with the Nook eBook reader."
msgstr "التواصل مع القارئ الكتاب الاليكترونى الزواية ."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2656,7 +2695,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "توجد مساحة كافية في بطاقة التخزين"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "تم تصوير %s"
@@ -3022,24 +3061,24 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "ملف CSS المستخدمة في الإنتاج بدلاً من الملف الافتراضي"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr "القالب المستخدم لتوليد ملف الفهرس HTML بدلاً من الملف الافتراضي"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
"القالب المستخدم لتوليد محتويات HTML من الكتاب بدلاً من الملف الافتراضي"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3335,15 +3374,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4339,7 +4382,7 @@ msgstr ""
msgid "Set book ID"
msgstr "تحديد هوية الكتاب"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4366,27 +4409,27 @@ msgstr "كلا"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "العنوان"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "المؤلف أو المؤلفون"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "الناشر"
@@ -4422,13 +4465,14 @@ msgstr "التعليقات"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "الوسوم"
@@ -4437,9 +4481,10 @@ msgstr "الوسوم"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4453,7 +4498,7 @@ msgstr[4] "السلسلة"
msgstr[5] "السلسلة"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4465,8 +4510,8 @@ msgstr "ختم التوقيت"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "ذلك"
@@ -4587,60 +4632,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "الغلاف"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "الولايات المتحدة"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "فرنسا"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "ألمانيا"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "بريطانيا"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "إيطاليا"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "الأمازون الموقع لﻻستخدام:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4648,6 +4693,24 @@ msgstr ""
msgid "Metadata source"
msgstr "مصدر البيانات الوصفية"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -4656,7 +4719,7 @@ msgstr ""
"التنزيلات الفوقية، ويغطي من Douban.com. مفيداً فقط لكتب البريدالالكتروني "
"الصينية."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4666,6 +4729,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "التنزيلات الفوقية، ويغطي من كتب جوجل"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "كبير"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4725,12 +4829,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4757,72 +4861,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "المحتويات"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "صقحة العنوان"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "الفهرس"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "المسرد"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "شكر وتقدير"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "ببليوغرافيا"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "بيانات الطبع"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "حقوق المؤلف"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "الإهداء"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "كتابة منقوشة"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "افتتاحية"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "قائمة الرسوم"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "قائمة الجداول"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "الملاحظات"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "افتتاحية"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "النصّ الرئيسي"
@@ -4831,14 +4935,14 @@ msgstr "النصّ الرئيسي"
msgid "%s format books are not supported"
msgstr "الكتب بتهيئة %s ليست مدعومة"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4863,12 +4967,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "يمكن حذف الكتب"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "لم يتم توصيل الجهاز"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "لحذف كتب عاطفية"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "حذف الكتب من الجهاز"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -6205,12 +6329,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr "وقف خادم، وهذا قد يستغرق دقيقة واحدة تصل، يرجى الانتظار..."
@@ -6294,8 +6418,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6331,7 +6455,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6404,15 +6528,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6519,17 +6643,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6833,7 +6979,7 @@ msgid "Click the show details button to see which ones."
msgstr "انقر على زر إظهار التفاصيل لمعرفة عاطفية منها."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "عرض تفاصيل الكتاب"
@@ -6938,7 +7084,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6950,30 +7096,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6983,11 +7129,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "احصل على مجلة عن كيفية الحصول على كتاب"
@@ -7251,7 +7397,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7461,7 +7607,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "معرفات"
@@ -7471,7 +7617,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7505,16 +7651,25 @@ msgstr "المسار"
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7582,7 +7737,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7768,7 +7923,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "الاسم"
@@ -8108,8 +8263,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "عادي"
@@ -9027,54 +9182,58 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9086,8 +9245,24 @@ msgstr ""
msgid " px"
msgstr " مقصف"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9325,6 +9500,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9891,7 +10070,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9937,81 +10116,81 @@ msgstr "الجهاز: "
msgid " detected."
msgstr " تم كشفه."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13592,32 +13778,32 @@ msgstr "نجمة"
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "الحجم (ميجابايت)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "معدّل"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13626,30 +13812,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "في المكتبة"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "الحجم"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13754,7 +13940,7 @@ msgid "Previous Page"
msgstr "قسم السابقة"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14256,7 +14442,7 @@ msgid "Edit Metadata"
msgstr "تحرير البيانات الوصفية"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14401,15 +14587,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14417,28 +14603,28 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"فشل في تحميل البيانات الوصفية. انقر فوق إظهار لمعرفة التفاصيل التفاصيل"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14449,39 +14635,45 @@ msgstr ""
"تحديداً. على الصفحة المثال، عاطفية تستخدم إلا البلاغ اسم العائلة وكلمة واحدة "
"مميزة من العنوان.Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18920,29 +19315,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20192,44 +20587,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "السلسلة التي تستخدم لتفريق الحقول. الإفتراضي يستخدم الفراغ."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "الحقول غير صالحة. الحقول المتوفرة:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "حقل الترتيب غير صالح. الحقول المتوفرة:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20238,59 +20633,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20301,28 +20696,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "يجب أن تخصص على الأقل كتاباً واحداً للحذف"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20332,11 +20737,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20346,15 +20751,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20369,7 +20774,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20379,40 +20784,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20423,28 +20828,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20455,13 +20860,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20481,11 +20886,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20496,30 +20901,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20531,17 +20936,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20550,27 +20955,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "إظهار التفاصيل لكل عمود."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20580,15 +20985,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20601,40 +21006,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20648,13 +21053,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20662,34 +21067,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "غير معروف تقرير الاختيار"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20704,18 +21109,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20723,33 +21128,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20772,31 +21177,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1840,7 +1879,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1849,11 +1888,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2046,7 +2085,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2836,23 +2875,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3140,15 +3179,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4099,7 +4142,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4123,27 +4166,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4179,13 +4222,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4194,9 +4238,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4206,7 +4251,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4218,8 +4263,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4331,60 +4376,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4392,13 +4437,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4408,6 +4471,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4499,72 +4603,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4573,14 +4677,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4605,12 +4709,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5938,12 +6062,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6027,8 +6151,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6064,7 +6188,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6134,15 +6258,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6247,17 +6371,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6666,7 +6812,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6678,30 +6824,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6711,11 +6857,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7189,7 +7335,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7233,16 +7379,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7310,7 +7465,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7496,7 +7651,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7836,8 +7991,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8753,59 +8908,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8817,13 +8976,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9061,6 +9236,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9673,81 +9852,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13321,32 +13507,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13355,30 +13541,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13483,7 +13669,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13981,7 +14167,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14126,15 +14312,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14142,27 +14328,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14170,38 +14356,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14342,7 +14534,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14385,34 +14578,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14461,12 +14654,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15379,10 +15572,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15400,7 +15589,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16368,20 +16557,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16800,83 +16989,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18655,29 +19050,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19925,44 +20320,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19971,59 +20366,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20034,28 +20429,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20065,11 +20470,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20079,15 +20484,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20102,7 +20507,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20112,40 +20517,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20156,28 +20561,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20188,13 +20593,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20214,11 +20619,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20229,30 +20634,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20264,17 +20669,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20283,27 +20688,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20313,15 +20718,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20334,40 +20739,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20381,13 +20786,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20395,34 +20800,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20437,18 +20842,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20456,33 +20861,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20505,31 +20910,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1838,7 +1877,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1847,11 +1886,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1871,55 +1910,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2044,7 +2083,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2525,7 +2564,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2834,23 +2873,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3138,15 +3177,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4097,7 +4140,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4121,27 +4164,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4177,13 +4220,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4192,9 +4236,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4204,7 +4249,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4216,8 +4261,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4329,60 +4374,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4390,13 +4435,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4406,6 +4469,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4465,12 +4569,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4497,72 +4601,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4571,14 +4675,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4603,12 +4707,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5936,12 +6060,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6025,8 +6149,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6062,7 +6186,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6132,15 +6256,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6245,17 +6369,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6559,7 +6705,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6664,7 +6810,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6676,30 +6822,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6709,11 +6855,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6977,7 +7123,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7187,7 +7333,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7197,7 +7343,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7231,16 +7377,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7308,7 +7463,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7494,7 +7649,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7834,8 +7989,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8751,59 +8906,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8815,13 +8974,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9059,6 +9234,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9625,7 +9804,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9671,81 +9850,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13319,32 +13505,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13353,30 +13539,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13481,7 +13667,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13979,7 +14165,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14124,15 +14310,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14140,27 +14326,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14168,38 +14354,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14340,7 +14532,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14383,34 +14576,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14459,12 +14652,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15377,10 +15570,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15398,7 +15587,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16366,20 +16555,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16412,18 +16601,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16798,83 +16987,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18653,29 +19048,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19923,44 +20318,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19969,59 +20364,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20032,28 +20427,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20063,11 +20468,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20077,15 +20482,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20100,7 +20505,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20110,40 +20515,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20154,28 +20559,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20186,13 +20591,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20212,11 +20617,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20227,30 +20632,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20262,17 +20667,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20281,27 +20686,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20311,15 +20716,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20332,40 +20737,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20379,13 +20784,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20393,34 +20798,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20435,18 +20840,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20454,33 +20859,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20503,31 +20908,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1834,7 +1873,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1843,11 +1882,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2040,7 +2079,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2830,23 +2869,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3134,15 +3173,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4093,7 +4136,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4117,27 +4160,27 @@ msgstr "ⵓⵀⵓ"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "ⴰⵣⵡⵍ"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4173,13 +4216,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4188,9 +4232,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4200,7 +4245,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4212,8 +4257,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4325,60 +4370,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4386,13 +4431,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4402,6 +4465,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "ⴰⵎⵉⵔⵉⵡ"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4493,72 +4597,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "ⴰⵣⵡⵍ ⵏ ⵜⴰⵙⵏⴰ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4567,14 +4671,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4599,12 +4703,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5932,12 +6056,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6021,8 +6145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6058,7 +6182,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6128,15 +6252,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6241,17 +6365,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6660,7 +6806,7 @@ msgid "this book"
msgstr "ⴰⴷⵍⵉⵙ ⴰⴷ"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6672,30 +6818,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6705,11 +6851,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7183,7 +7329,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7227,16 +7373,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7304,7 +7459,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7490,7 +7645,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "ⵉⵙⵎ"
@@ -7830,8 +7985,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8747,59 +8902,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8811,13 +8970,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9055,6 +9230,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9667,81 +9846,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13315,32 +13501,32 @@ msgstr "ⵉⵜⵔⴰⵏ"
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13349,30 +13535,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13477,7 +13663,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13975,7 +14161,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14120,15 +14306,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14136,27 +14322,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14164,38 +14350,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14336,7 +14528,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14379,34 +14572,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14455,12 +14648,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15373,10 +15566,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "ⴰⵎⵉⵔⵉⵡ"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "ⴰⵎⵊⴰⵀⴷⵉ"
@@ -15394,7 +15583,7 @@ msgid "Never"
msgstr "ⵊⵊⵓⵏ"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16362,20 +16551,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16794,83 +16983,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18649,29 +19044,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19919,44 +20314,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19965,59 +20360,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20028,28 +20423,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20059,11 +20464,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20073,15 +20478,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20096,7 +20501,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20106,40 +20511,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20150,28 +20555,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20182,13 +20587,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20208,11 +20613,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20223,30 +20628,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20258,17 +20663,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20277,27 +20682,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20307,15 +20712,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20328,40 +20733,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20375,13 +20780,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20389,34 +20794,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20431,18 +20836,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20450,33 +20855,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20499,31 +20904,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1958,7 +1997,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1967,11 +2006,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1991,55 +2030,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2164,7 +2203,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2658,7 +2697,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2969,23 +3008,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3273,15 +3312,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4235,7 +4278,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Задаване на ID на книгата"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4259,27 +4302,27 @@ msgstr "Не"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Заглавие"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Автор(и)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Издател"
@@ -4315,13 +4358,14 @@ msgstr "Коментари"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Етикети"
@@ -4330,9 +4374,10 @@ msgstr "Етикети"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4342,7 +4387,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4354,8 +4399,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Публикувана"
@@ -4467,60 +4512,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Корица"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4528,13 +4573,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4544,6 +4607,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Голям"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Сваляне на метаданни от isbndb.com"
@@ -4603,12 +4707,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4635,72 +4739,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Съдържание"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Заглавна страница"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Индекс"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Речник"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Благодарности"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Библиография"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Послеслов"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Авторски права"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Посвещение"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Епиграф"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Предисловие"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Списък на Илюстрации"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Бележки"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Предговор"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Основен текст"
@@ -4709,14 +4813,14 @@ msgstr "Основен текст"
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4741,12 +4845,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Не може да се изтрият книгите"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Няма книги за изтриване"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -6074,12 +6198,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6163,8 +6287,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6200,7 +6324,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6270,15 +6394,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6383,17 +6507,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6697,7 +6843,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Показване на детайлите на книгата"
@@ -6802,7 +6948,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6814,30 +6960,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6847,11 +6993,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7115,7 +7261,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Няма книги"
@@ -7325,7 +7471,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7335,7 +7481,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Колекции"
@@ -7369,16 +7515,25 @@ msgstr "Път"
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7446,7 +7601,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7632,7 +7787,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Име"
@@ -7972,8 +8127,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8889,59 +9044,63 @@ msgstr "Няма &изображения"
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Размер на хартията:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8953,13 +9112,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9197,6 +9372,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Конвертиране"
@@ -9763,7 +9942,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Няма подходящи формати"
@@ -9809,81 +9988,81 @@ msgstr "Устройство: "
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Няма устройство"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Няма карта"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Няма място на устройството"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Изчистване на бързото търсене"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13457,32 +13643,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Размер (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13491,30 +13677,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13619,7 +13805,7 @@ msgid "Previous Page"
msgstr "Предишна страница"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14117,7 +14303,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14262,15 +14448,15 @@ msgstr "&Коментари"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14278,27 +14464,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14306,38 +14492,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Сваляне на корица..."
@@ -14478,7 +14670,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14521,34 +14714,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "По подразбиране"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14597,12 +14790,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15515,10 +15708,6 @@ msgstr ""
msgid "Small"
msgstr "Малък"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Голям"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Среден"
@@ -15536,7 +15725,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16506,20 +16695,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16552,18 +16741,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16938,83 +17127,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18793,29 +19188,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20063,44 +20458,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20109,59 +20504,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20172,28 +20567,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20203,11 +20608,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20217,15 +20622,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20240,7 +20645,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20250,40 +20655,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20294,28 +20699,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20326,13 +20731,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20352,11 +20757,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20367,30 +20772,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20402,17 +20807,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20421,27 +20826,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20451,15 +20856,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20472,40 +20877,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20519,13 +20924,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20533,34 +20938,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20575,18 +20980,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20594,33 +20999,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20643,31 +21048,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1834,7 +1873,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1843,11 +1882,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2040,7 +2079,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2830,23 +2869,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3134,15 +3173,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4093,7 +4136,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4117,27 +4160,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4173,13 +4216,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4188,9 +4232,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4200,7 +4245,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4212,8 +4257,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4325,60 +4370,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4386,13 +4431,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4402,6 +4465,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4493,72 +4597,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4567,14 +4671,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4599,12 +4703,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5932,12 +6056,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6021,8 +6145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6058,7 +6182,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6128,15 +6252,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6241,17 +6365,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6660,7 +6806,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6672,30 +6818,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6705,11 +6851,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7183,7 +7329,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7227,16 +7373,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7304,7 +7459,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7490,7 +7645,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7830,8 +7985,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8747,59 +8902,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8811,13 +8970,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9055,6 +9230,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9667,81 +9846,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13315,32 +13501,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13349,30 +13535,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13477,7 +13663,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13975,7 +14161,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14120,15 +14306,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14136,27 +14322,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14164,38 +14350,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14336,7 +14528,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14379,34 +14572,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14455,12 +14648,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15373,10 +15566,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15394,7 +15583,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16362,20 +16551,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16794,83 +16983,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18649,29 +19044,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19919,44 +20314,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19965,59 +20360,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20028,28 +20423,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20059,11 +20464,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20073,15 +20478,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20096,7 +20501,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20106,40 +20511,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20150,28 +20555,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20182,13 +20587,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20208,11 +20613,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20223,30 +20628,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20258,17 +20663,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20277,27 +20682,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20307,15 +20712,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20328,40 +20733,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20375,13 +20780,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20389,34 +20794,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20431,18 +20836,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20450,33 +20855,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20499,31 +20904,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
\n"
@@ -15,24 +15,24 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2013-03-30 05:09+0000\n"
-"X-Generator: Launchpad (build 16546)\n"
+"X-Launchpad-Export-Date: 2013-04-27 05:24+0000\n"
+"X-Generator: Launchpad (build 16580)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:804
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:126
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:129
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:140
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:667
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:668
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:839
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:147
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:150
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:161
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:715
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:716
#: /home/kovid/work/calibre/src/calibre/db/write.py:152
#: /home/kovid/work/calibre/src/calibre/db/write.py:156
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
@@ -87,8 +87,8 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25
@@ -99,9 +99,9 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259
@@ -110,7 +110,7 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98
@@ -123,7 +123,7 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361
@@ -145,13 +145,13 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:174
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136
@@ -160,33 +160,33 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:193
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:208
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202
-#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:244
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:245
#: /home/kovid/work/calibre/src/calibre/library/database.py:914
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:554
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:562
#: /home/kovid/work/calibre/src/calibre/library/database2.py:573
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:581
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:592
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
#: /home/kovid/work/calibre/src/calibre/library/server/content.py:250
#: /home/kovid/work/calibre/src/calibre/library/server/content.py:251
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247
@@ -328,345 +328,345 @@ msgstr ""
msgid "Set metadata from %s files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772
msgid "Add books to calibre or the connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777
msgid "Fetch annotations from a connected Kindle (experimental)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782
msgid "Generate a catalog of the books in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787
msgid "Convert books to various ebook formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792
msgid "Fine tune your ebooks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63
msgid "Edit the Table of Contents in your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802
msgid "Delete books from your calibre library or connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807
msgid "Edit the metadata of books in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812
msgid "Read books in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817
msgid "Download news from the internet in ebook form"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822
msgid "Show a list of related books quickly"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827
msgid "Export books from your calibre library to the hard disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832
msgid "Show book details in a separate popup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837
#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14
msgid "Restart calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842
msgid "Open the folder that contains the book files in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848
msgid "Send books to the connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853
msgid ""
"Send books via email or the web also connect to iTunes or folders on your "
"computer as if they are devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859
#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16
msgid "Browse the calibre User Manual"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864
msgid "Customize calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869
msgid "Easily find books similar to the currently selected one"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874
msgid ""
"Switch between different calibre libraries and perform maintenance on them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880
msgid "Copy books from the devce to your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885
msgid "Edit the collections in which books are placed on your device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890
msgid "Copy a book from one calibre library to another"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895
msgid "Make small tweaks to epub or htmlz files in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900
msgid ""
"Find the next or previous match when searching in your calibre library in "
"highlight mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906
msgid "Choose a random book from your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913
msgid "Search for books from different book sellers"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929
msgid "Get new calibre plugins or update your existing ones"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948
msgid "Look and Feel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996
msgid "Interface"
msgstr "Ketal"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954
msgid "Adjust the look and feel of the calibre interface to suit your tastes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960
msgid "Behavior"
msgstr "Emzalc'h"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966
msgid "Change the way calibre behaves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276
msgid "Add your own columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977
msgid "Add/remove your own columns to the calibre book list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982
msgid "Toolbar"
msgstr "Barrenn ostilhoù"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988
msgid ""
"Customize the toolbars and context menus, changing which actions are "
"available in each"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994
msgid "Searching"
msgstr "O klask"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000
msgid "Customize the way searching for books works in calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005
msgid "Input Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029
msgid "Conversion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011
msgid "Set conversion options specific to each input format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016
msgid "Common Options"
msgstr "Dibarzhioù boutin"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022
msgid "Set conversion options common to all formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027
msgid "Output Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033
msgid "Set conversion options specific to each output format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038
msgid "Adding books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076
msgid "Import/Export"
msgstr "Enporzhiañ/Ezporzhiañ"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044
msgid "Control how calibre reads metadata from files when adding books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050
msgid "Saving books to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056
msgid ""
"Control how calibre exports files from its database to disk when using Save "
"to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062
msgid "Sending books to devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068
msgid "Control how calibre transfers files to your ebook reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074
msgid "Metadata plugboards"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080
msgid "Change metadata fields before saving/sending"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085
msgid "Template Functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181
msgid "Advanced"
msgstr "Kempleshoc'h"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091
msgid "Create your own template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096
msgid "Sharing books by email"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134
msgid "Sharing"
msgstr "Rannañ"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102
msgid ""
"Setup sharing of books via email. Can be used for automatic sending of "
"downloaded news to your devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108
msgid "Sharing over the net"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114
msgid ""
"Setup the calibre Content Server which will give you access to your calibre "
"library from anywhere, on any device, over the internet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121
msgid "Metadata download"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127
msgid "Control how calibre downloads ebook metadata from the net"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400
msgid "Ignored devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138
msgid ""
"Control which devices calibre will ignore when they are connected to the "
"computer."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "Plugins"
msgstr "Enlugelladoù"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151
msgid "Add/remove/customize various bits of calibre functionality"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157
msgid "Tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163
msgid "Fine tune how calibre behaves in various contexts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168
msgid "Keyboard"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174
msgid "Customize the keyboard shortcuts used by calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110
msgid "Miscellaneous"
msgstr "Liesseurt"
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185
msgid "Miscellaneous advanced configuration"
msgstr ""
@@ -944,8 +944,8 @@ msgstr ""
msgid "Disable the named plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:325
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:334
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:327
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749
@@ -955,11 +955,22 @@ msgstr ""
msgid "Path to library too long. Must be less than %d characters."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:154
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:395
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
+msgid "restored preference "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:401
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
+#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
+msgid "creating custom column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:175
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910
msgid "Yes"
@@ -971,26 +982,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:237
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206
msgid "Main"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:239
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208
msgid "Card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:241
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210
msgid "Card B"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:484
#: /home/kovid/work/calibre/src/calibre/db/fields.py:499
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773
@@ -1003,11 +1014,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/utils.py:116
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:339
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:352
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:359
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:372
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187
msgid "News"
msgstr "Keleier"
@@ -1015,14 +1026,14 @@ msgstr "Keleier"
#: /home/kovid/work/calibre/src/calibre/db/search.py:32
#: /home/kovid/work/calibre/src/calibre/db/search.py:312
#: /home/kovid/work/calibre/src/calibre/library/caches.py:135
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:577
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:570
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:32
#: /home/kovid/work/calibre/src/calibre/db/search.py:310
#: /home/kovid/work/calibre/src/calibre/library/caches.py:135
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229
msgid "yes"
msgstr ""
@@ -1030,7 +1041,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:34
#: /home/kovid/work/calibre/src/calibre/db/search.py:309
#: /home/kovid/work/calibre/src/calibre/library/caches.py:137
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229
msgid "no"
msgstr ""
@@ -1038,45 +1049,70 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:34
#: /home/kovid/work/calibre/src/calibre/db/search.py:311
#: /home/kovid/work/calibre/src/calibre/library/caches.py:137
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:576
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:109
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:313
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:314
msgid "today"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:110
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:314
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:315
msgid "yesterday"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:111
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:315
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:316
msgid "thismonth"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:112
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:316
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:317
msgid "daysago"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/db/search.py:198
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:374
+msgid "Number conversion error: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:204
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:380
+msgid "Date conversion error: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:289
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:456
+msgid "Non-numeric value in query: {0}"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/db/search.py:313
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
msgid "empty"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:314
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
msgid "blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:323
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "Invalid boolean query \"{0}\""
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/db/search.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:501
+msgid "Invalid query format for colon-separated search: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:469
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:650
+msgid "Recursive query group detected: {0}"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/debug.py:75
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:47
msgid ""
@@ -1104,23 +1140,23 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204
msgid ""
"Comma separated list of directories to send e-books to on the device's "
"main memory. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207
msgid ""
"Comma separated list of directories to send e-books to on the device's "
"storage cards. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324
msgid "Communicate with S60 phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343
msgid "Communicate with WebOS tablets."
msgstr ""
@@ -1243,8 +1279,8 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374
msgid "Catalog"
msgstr "Katalog"
@@ -1292,10 +1328,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147
@@ -1336,6 +1372,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
msgid "Removing books from device..."
@@ -1654,17 +1691,17 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238
msgid ""
"A bug in an earlier version left non kepubs book records in the database. "
"With this option Calibre will show the expired records and allow you to "
@@ -1672,12 +1709,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242
msgid "Show Previews"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243
msgid ""
"Kobo previews are included on the Touch and some other versions by default "
"they are no longer displayed as there is no good reason to see them. Enable "
@@ -1685,7 +1722,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246
msgid "Show Recommendations"
msgstr ""
@@ -1697,7 +1734,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255
msgid "Attempt to support newer firmware"
msgstr ""
@@ -1710,10 +1747,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587
msgid "Kobo database version unsupported - See details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588
msgid ""
"Your Kobo is running an updated firmware/database version. As calibre does "
"not know about this updated firmware, database editing is disabled, to "
@@ -1770,66 +1809,66 @@ msgid ""
"%(text)s
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1837,7 +1876,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1846,11 +1885,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1870,55 +1909,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2043,7 +2082,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2524,7 +2563,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2833,23 +2872,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3137,15 +3176,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4099,7 +4142,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4123,27 +4166,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4179,13 +4222,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4194,9 +4238,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4206,7 +4251,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4218,8 +4263,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4331,60 +4376,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4392,13 +4437,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4408,6 +4471,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4499,72 +4603,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4573,14 +4677,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4605,12 +4709,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5938,12 +6062,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6027,8 +6151,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6064,7 +6188,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6134,15 +6258,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6247,17 +6371,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6666,7 +6812,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6678,30 +6824,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6711,11 +6857,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7189,7 +7335,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7233,16 +7379,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7310,7 +7465,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7496,7 +7651,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7836,8 +7991,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8753,59 +8908,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8817,13 +8976,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9061,6 +9236,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9673,81 +9852,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13321,32 +13507,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13355,30 +13541,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13483,7 +13669,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13981,7 +14167,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14126,15 +14312,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14142,27 +14328,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14170,38 +14356,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14342,7 +14534,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14385,34 +14578,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14461,12 +14654,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15379,10 +15572,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15400,7 +15589,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16368,20 +16557,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16800,83 +16989,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18655,29 +19050,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19925,44 +20320,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19971,59 +20366,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20034,28 +20429,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20065,11 +20470,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20079,15 +20484,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20102,7 +20507,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20112,40 +20517,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20156,28 +20561,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20188,13 +20593,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20214,11 +20619,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20229,30 +20634,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20264,17 +20669,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20283,27 +20688,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20313,15 +20718,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20334,40 +20739,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20381,13 +20786,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20395,34 +20800,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20437,18 +20842,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20456,33 +20861,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20505,31 +20910,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1840,7 +1879,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1849,11 +1888,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2046,7 +2085,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2836,23 +2875,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3140,15 +3179,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4099,7 +4142,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4123,27 +4166,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Naslov"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4179,13 +4222,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4194,9 +4238,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4206,7 +4251,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4218,8 +4263,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4331,60 +4376,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4392,13 +4437,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4408,6 +4471,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4499,72 +4603,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Sadržaj"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4573,14 +4677,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4605,12 +4709,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5939,12 +6063,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6028,8 +6152,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6065,7 +6189,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6135,15 +6259,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6248,17 +6372,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6562,7 +6708,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6667,7 +6813,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Traži %s"
@@ -6679,30 +6825,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6712,11 +6858,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "O nalaženju knjiga"
@@ -6980,7 +7126,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7190,7 +7336,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7200,7 +7346,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7234,16 +7380,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7311,7 +7466,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7497,7 +7652,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7837,8 +7992,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8754,59 +8909,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Se&rif porodica:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "&Sans porodica:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "&Monospace porodica:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "S&tandardni font:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8818,13 +8977,29 @@ msgstr ""
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Veličina monospace &fonta:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9062,6 +9237,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9628,7 +9807,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9674,81 +9853,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13322,32 +13508,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13356,30 +13542,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13484,7 +13670,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13982,7 +14168,7 @@ msgid "Edit Metadata"
msgstr "Uredi meta podatke"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14127,15 +14313,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14143,27 +14329,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14171,38 +14357,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14343,7 +14535,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14386,34 +14579,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14462,12 +14655,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15380,10 +15573,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15401,7 +15590,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16369,20 +16558,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Nije moguće pokrenuti server sa sadržajem"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Izvještaj greške:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Izvještaj o pristupu:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16415,18 +16604,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16801,83 +16990,233 @@ msgstr "Vrati &početno"
msgid "Apply any changes you made to this tweak"
msgstr "Primijeni bilo kakve promjene napravljene u ovom prilagođavanju"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Sačuvaj pretragu"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
msgid "Delete current search"
msgstr "Obriši trenutnu pretragu"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
msgid "No search is selected"
msgstr "Pretraga nije odabrana"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr "Započni pretragu"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr "Omogućite ili onemogućite označavanje u pretragama."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Sačuvane pretrage"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr "Sačuvaj pretragu"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr "Obriši sačuvanu pretragu"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Upravljanje sačuvanim pretragama"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Trenutna pretraga"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Ograniči na"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
\n"
+"\n"
+" tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18660,29 +19055,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19930,44 +20325,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19976,59 +20371,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20039,28 +20434,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20070,11 +20475,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20084,15 +20489,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20107,7 +20512,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20117,40 +20522,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20161,28 +20566,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20193,13 +20598,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20219,11 +20624,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20234,30 +20639,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20269,17 +20674,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20288,27 +20693,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20318,15 +20723,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20339,40 +20744,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20386,13 +20791,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20400,34 +20805,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20442,18 +20847,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20461,33 +20866,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20510,31 +20915,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Realça: "
"%(text)s
Notes: %(annotation)s
"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
"El Kobo Touch és permet prestatgeries des del microprogramari V2.0.0."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
"Especifiqueu una columna de tipus d'etiqueta per a la gestió automàtica"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Creació de prestatgeries"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
@@ -1976,11 +2016,11 @@ msgstr ""
"Crea prestatgeries noves al Kobo Touch si no n'hi ha. Només per al "
"microprogramari V2.0.0 o posterior."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Suprimeix les prestatgeries buides."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
@@ -1988,11 +2028,11 @@ msgstr ""
"Suprimeix les prestatgeries buides del Kobo Touch després de sincronitzar. "
"Només per al microprogramari V2.0.0 o posterior."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Puja portades per als llibres"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
@@ -2000,11 +2040,11 @@ msgstr ""
"Puja les imatges de portades des de la biblioteca del calibre en enviar "
"llibres al dispositiu."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr "Manté la relació s'aspecte de la portada"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
@@ -2012,7 +2052,7 @@ msgstr ""
"En pujar portades, no canviïs la relació d'aspecte en ajustar-ne la mida per "
"al dispositiu. Per a versions de microprogramari 2.3.1 i posteriors."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
@@ -2022,11 +2062,11 @@ msgstr ""
"d'altres només són enllaços a la pàgina web per comprar. Habiliteu-ho si "
"voleu veure-les o suprimir-les."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr "Estableix la informació de la sèrie"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -2039,7 +2079,7 @@ msgstr ""
"processat el llibre. Habiliteu-ho si voleu establir la informació de la "
"sèrie."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -2054,11 +2094,11 @@ msgstr ""
"programari. Aquest controlador és compatible amb el microprogramari V2.x.x i "
"DBVersion fins a "
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr "Títol que es provarà en la depuració"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -2081,55 +2121,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Comunica't amb un Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Comunica't amb un Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Comunica't amb un VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Comunica't amb un GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Comunica't amb l'Acer Lumiread."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Comunica't amb un Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Comunica't amb un Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Comunica't amb un EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Comunica't amb una tauleta tàctil Adam"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Comunica't amb un Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Comunica't amb un lector Moovybook"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Comunica't amb el COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Comunica't amb l'Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr "Comunica't amb les lectors WayteQ i SPC Dickens"
@@ -2257,7 +2297,7 @@ msgstr "El Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Comunica't amb un lector Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Comunica't amb un lector Nook Color, TSR o Tablet."
@@ -2821,7 +2861,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "No hi ha espai lliure suficient a la targeta de memòria"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "%s renderitzat"
@@ -3237,12 +3277,12 @@ msgstr ""
"segur de què esteu fent ja que pot causar efectes desagradables no desitjats "
"a la resta de la canal de conversió."
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
"Fitxer CSS que es farà servir per a la sortida en lloc del fitxer per defecte"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3250,7 +3290,7 @@ msgstr ""
"Plantilla que es fa servir per generar l'índex html en lloc del fitxer per "
"defecte"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3258,7 +3298,7 @@ msgstr ""
"Plantilla que es fa servir per generar els continguts html del llibre en "
"lloc del fitxer per defecte"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3619,20 +3659,23 @@ msgstr ""
"d'aquesta opció."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
msgstr ""
-"Una plantilla HTML utilitzada per generar peus de pàgina a cada pàgina. Es "
-"substituirà la cadena _PAGENUM_ pel nombre de pàgina actual."
+"Una plantilla HTLM utilitzada per generar %s a cada pàgina. Es reemplaçarà "
+"les cadenes _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_ pels seus valors "
+"actuals."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
+msgstr "peus de pàgina"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
-msgstr ""
-"Una plantilla HTML utilitzada per generar encapçalaments de pàgina a cada "
-"pàgina. Es substituirà la cadena _PAGENUM_ pel nombre de pàgina actual."
+msgid "headers"
+msgstr "encapçalaments"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
msgid ""
@@ -4877,7 +4920,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Indiqueu l'ID (identificador) del llibre"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4903,27 +4946,27 @@ msgstr "No"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Títol"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(s)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Editorial"
@@ -4959,13 +5002,14 @@ msgstr "Comentaris"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Etiquetes"
@@ -4974,9 +5018,10 @@ msgstr "Etiquetes"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4986,7 +5031,7 @@ msgstr[0] "Sèrie"
msgstr[1] "Sèries"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4998,8 +5043,8 @@ msgstr "Marca horària"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Publicat"
@@ -5137,61 +5182,61 @@ msgstr ""
"Obté una imatge de portada o bé metadades socials per al llibre identificat "
"amb ISBN des de LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Portada"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Baixa les metadades i les portades des d'Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "Estats Units"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "França"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Alemanya"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "Regne Unit"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Itàlia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japó"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "Espanya"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr "Brasil"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Portal de Amazon que s'utilitzarà:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
"S'obtindrà les metadades d'Amazon del lloc web d'Amazon d'aquest país."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "El temps d'espera d'Amazon s'ha esgotat. Intenteu-ho més tard."
@@ -5199,6 +5244,27 @@ msgstr "El temps d'espera d'Amazon s'ha esgotat. Intenteu-ho més tard."
msgid "Metadata source"
msgstr "Font de les metadades"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+"Baixa múltiples portades de llibre des d'Amazon. Útil per trobar portades "
+"alternatives."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr "Configuració del connector Big Book Search"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr "Nombre màxim de portades que s'obtindran"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+"El nombre màxim de portades del resultat de la cerca que es processaran"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -5207,7 +5273,7 @@ msgstr ""
"Descarrega metadades i portades de Douban.com. Només és útil per a llibres "
"en xinès."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -5219,6 +5285,51 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Baixa les metadades i les portades des de Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+"Baixa portades d'una cerca a Imatges de Google. Útil per trobar portades "
+"alternatives o més grans."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr "Configuració del connector de Cerca d'Imatges de Google"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+"El nombre màxim de portades que es processaran del resultat de la cerca de "
+"Google"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr "Mida de la portada"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr "Cerca portades més grans que la mida especificada"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr "Qualsevol mida"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Gran"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr "Més gran que %s"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Baixa les metadades des d'isbndb.com"
@@ -5293,12 +5404,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "Aquest és un llibre Amazon Topaz. No es pot processar"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr "No és un fitxer MOBI, és un fitxer Topaz."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr "No és un fitxer MOBI."
@@ -5331,72 +5442,72 @@ msgid "No details available"
msgstr "No es disposa de detalls"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Índex"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Pàgina del títol"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Índex"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glossari"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Agraïments"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliografia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Colofó"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Drets d'autor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Dedicatòria"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epígraf"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Prefaci"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Índex d'il·lustracions"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Índex de taules"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Anotacions"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Pròleg"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Text principal"
@@ -5405,7 +5516,7 @@ msgstr "Text principal"
msgid "%s format books are not supported"
msgstr "El format de llibre %s no és compatible"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
@@ -5415,7 +5526,7 @@ msgstr ""
"d'Amazon. El calibre només pot editar fitxers MOBI que contenen llibres KF8. "
"No es pot editar els fitxers MOBI antics sense KF8."
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5442,28 +5553,30 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
@@ -6776,44 +6908,44 @@ msgstr ""
"Se suprimirà tots els formats dels llibres llibres seleccionats de la "
"biblioteca.
Les metadades dels llibres es conservaran. N'esteu segur?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "No es pot suprimir els llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "No hi ha cap dispositiu connectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Memòria principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Targeta de memòria A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Targeta de memòria B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "No hi ha cap llibre per suprimir"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Cap dels llibres seleccionats són al dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "S'està suprimint llibres del dispositiu."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6821,21 +6953,23 @@ msgstr ""
"Alguns dels llibres seleccionats són al dispositiu connectat. D'on "
"voleu que se suprimeixin els fitxers seleccionats?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"Els llibres seleccionats se suprimiran permanentment i els fitxers es "
-"trauran de la biblioteca del calibre. N'esteu segur?"
+"Els %d llibre(s) seleccionat(s) se suprimiran permanentment i els "
+"fitxers s'eliminaran de la biblioteca del calibre. N'esteu segur?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Els llibres seleccionats se suprimiran permanentment del dispositiu. "
-"N'esteu segur?"
+"Els %d llibre(s) seleccionat(s) se suprimiran permanentment del "
+"dispositiu. N'esteu segur?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6912,12 +7046,12 @@ msgstr ""
"Connecta a dispositius especials..."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "S'està aturant"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr "S'està aturant el servidor, pot trigar fins a un minut, espereu..."
@@ -7005,8 +7139,8 @@ msgstr "No s'ha pogut baixar les metadades"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "No s'ha pogut baixar"
@@ -7049,7 +7183,7 @@ msgid "Download complete"
msgstr "S'ha acabat la baixada"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Registre de baixades"
@@ -7145,15 +7279,15 @@ msgstr ""
"duplicats del segon i del següents llibres seleccionats de la biblioteca del "
"calibre.
Esteu segur que voleu continuar?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "S'està aplicant les metadades canviades"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Alguns errors"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -7261,17 +7395,33 @@ msgstr "Poleix %d llibres"
msgid "About Polishing books
%s"
msgstr "Quant al polit de llibres
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr "Subconjunts de tipus de lletra
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr "Embelleix la puntuació
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr "Sobrecoberta de metadades
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr "Suprimeix la sobrecoberta de metadades
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr "Selecció de les accions a realitzar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr "Crea &subconjunts de tots els tipus de lletra incrustats"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Embelleix la &puntuació"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr "Actualitza les metadades als fitxers de llibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr "Actualitza la &portada als fitxers de llibre"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr "Afegeix les metadades com a pàgina de «sobre&coberta»"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr "&Suprimeix una sobrecoberta inserida prèviament"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr "Quant a"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr "Mostra l'info&rme"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
"Mostra un informe de totes les accions realitzades després d'acabar el polit"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr "De&sa la configuració"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr "Carrega &la configuració"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr "Selecciona'ls &tots"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr "No en seleccionis &cap"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr "No s'ha seleccionat cap acció"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr "Heu de seleccionar almenys una acció abans de desar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr "Tria de nom"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr "Trieu un nom per a aquesta configuració"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr "Suprimeix els paràmetres desats"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr "Cal actualitzar les metadades"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+"Heu seleccionat l'opció d'afegir les metadades com a «sobrecoberta». Per tal "
+"que funcioni l'opció també heu de seleccionar l'opció d'actualitzar les "
+"metadades als fitxers de llibre. Voleu seleccionar-la?"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr "Heu de seleccionar almenys una acció o fer clic a «Cancel·la»."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr "S'està posant els llibres per polir a la cua"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr "Poleix %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr "S'està polint el llibre %(nums)s de %(tot)s (%(title)s)"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr "S'està posant a la cua el llibre %(nums)s de %(tot)s (%(title)s)"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr "Ignora els %d informes que resten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr "Visua&litza el registre complet"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr "S'està polint %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] "El fitxer original s'ha desat com a %s."
msgstr[1] "Els fitxers originals s'han desat com a %s."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr " i "
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr "Si torneu a polir, el polit es farà en els originals."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr "Polit de llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr "Aplica un toc de perfecció als llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr "P"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr "No s'ha pogut polir"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
@@ -7470,7 +7634,7 @@ msgstr ""
"Només es pot polir llibres en els formats %s. Convertiu-lo a una d'aquests "
"formats abans de polir-lo."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr "Inicia el polit de %d llibre(s)"
@@ -7590,7 +7754,7 @@ msgid "Click the show details button to see which ones."
msgstr "Feu clic a «Mostra detalls» per saber quins són."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Mostra detalls del llibre"
@@ -7698,7 +7862,7 @@ msgid "this book"
msgstr "aquest llibre"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Cerca %s"
@@ -7710,17 +7874,17 @@ msgstr "Botigues"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Tria botigues"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "No es pot cercar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
@@ -7728,7 +7892,7 @@ msgstr ""
"El calibre us ajuda a trobar els llibres que voleu cercant als llocs web de "
"diferents fonts de llibres comercials i de domini públic."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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 "
@@ -7738,7 +7902,7 @@ msgstr ""
"llibre que s'està buscant, al millor preu. També podeu saber l'estat DRM i "
"d'altra informació útil."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7754,11 +7918,11 @@ msgstr ""
"lector, especialment si el llibre té DRM."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Torna a mostrar aquest missatge"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "Quant a Get Books"
@@ -8059,7 +8223,7 @@ msgid "The specified directory could not be processed."
msgstr "La carpeta que s'ha indicat no es pot processar."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Cap llibre"
@@ -8288,7 +8452,7 @@ msgid "Click to open"
msgstr "Feu clic per obrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "Identificadors"
@@ -8298,7 +8462,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr "Llibre %(sidx)s de %(series)s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Col·leccions"
@@ -8332,16 +8496,25 @@ msgstr "Camí"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Mida de la portada: %(width)d×%(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr "&Copia l'enllaç"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr "Suprimeix el format %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr "Desa el format %s al disc"
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr "Restaura el format %s"
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "Opcions de BibTeX"
@@ -8409,7 +8582,7 @@ msgstr "sortida"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8603,7 +8776,7 @@ msgstr "Cert"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Nom"
@@ -8967,8 +9140,8 @@ msgid "Style the selected text block"
msgstr "Aplica un estil al bloc de text seleccionat"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normal"
@@ -9945,7 +10118,7 @@ msgstr "&Sense imatges"
msgid "PDF Output"
msgstr "Sortida PDF"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
@@ -9955,52 +10128,56 @@ msgstr ""
"s'apliquen si habiliteu la casella de selecció «Substitueix». En cas "
"contrari s'utilitza la mida del perfil de sortida."
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr "&Substitueix la mida de la pàgina establert al perfil de sortida"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "Mida del &full:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr "Mida &personalitzada:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr "&Unitat:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Conserva la relació d'&aspecte de la portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr "Afegeix &nombres de pàgina al peu de cada pàgina."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Família Se&rif:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "Família &Sans:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "Família &Monoespai"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "Tipus de lletra es&tàndard:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr "Mida de lletra per de&fecte:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -10012,14 +10189,34 @@ msgstr "Mida de lletra per de&fecte:"
msgid " px"
msgstr " Píxels"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Mida del &tipus de lletra Monoespai:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
-msgstr "Afegeix &nombres de pàgina al peu de cada pàgina."
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr "Encapçalaments i peus de pàgina"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+"Si utilitzeu plantilles d'encapçalament i peu de pàgina podeu inserir "
+"encapçalaments i peus de pàgina a cada pàgina del fitxer PDF obtingut. Per a "
+"exemples vegeu la documentació."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr "Plantilla d'&encapçalament:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
+msgstr "Plantilla de &peu de pàgina:"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
msgid "PMLZ Output"
@@ -10279,6 +10476,10 @@ msgstr ""
"amb una expressió feu clic al botó «Afegeix» per afegir-la a la llista "
"d'expressions."
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr "Restaura els pre&determinats"
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Conversió"
@@ -10874,7 +11075,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr "S'ha detectat un %s. Voleu que el calibre el gestioni?"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "No hi ha formats adequats"
@@ -10924,68 +11125,68 @@ msgstr "Dispositiu: "
msgid " detected."
msgstr " detectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "seleccionat per enviar"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "No hi ha cap dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr "No hi ha cap dispositiu connectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr "%(num)i de %(total)i llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 de %i llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Tria el format que s'enviarà al dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "No s'ha pogut enviar: no hi ha cap dispositiu connectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Sense targeta"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "No s'ha pogut enviar: el dispositiu no té targeta de memòria"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"S'ha de convertir automàticament aquests llibres abans de carregar-los al "
"dispositiu?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "S'estan enviant els catàlegs al dispositiu."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "S'estan enviant les notícies al dispositiu."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "S'estan enviant els llibres al dispositiu."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -10994,16 +11195,16 @@ msgstr ""
"un format adequat. Convertiu primer el(s) llibre(s) a un format compatible "
"amb el vostre dispositiu."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "No hi ha espai al dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -14977,19 +15185,19 @@ msgstr ""
"comentaris...
Es cerquen totes les paraules que es posen separades "
"per espais"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "Enda&vant!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Cerca ràpida (també podeu prémer la tecla de retorn)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Reinicia la cerca ràpida"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Copia el text de cerca (en lloc del nom de la cerca)"
@@ -15002,32 +15210,32 @@ msgstr "estrelles"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "Al dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Mida (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Modificat"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "El nom de la cerca és «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "L'UUID del llibre és «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -15038,32 +15246,32 @@ msgstr ""
"No s'ha pogut canviar la localització al disc d'aquest llibre. El té obert "
"un altre programa?"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr "No s'ha pogut establir les dades"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
"No s'ha pogut establir les dades, feu clic a «Mostra detalls» per veure "
"perquè."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "A la biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Mida"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "S'ha marcat per suprimir"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Feu doble clic per a edittar>/b>
-me"
@@ -15170,7 +15378,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/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -15713,7 +15921,7 @@ msgid "Edit Metadata"
msgstr "Edició de metadades"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -15870,15 +16078,15 @@ msgstr "&Comentaris"
msgid "Basic metadata"
msgstr "Metadades bàsiques"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr "Té portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr "Té resum"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -15891,29 +16099,29 @@ msgstr ""
"troba una portada a la fase de baixada de\n"
"portades i a l'inrevés."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr "Vegeu a"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr "El calibre està baixant les metadades des de: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Espereu"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Consulta: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"No s'ha pogut baixar les metadades. Feu clic a «Mostra detalls» per a més "
"informació"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -15925,42 +16133,48 @@ msgstr ""
"l'autor i una sola paraula per identificar el títol.Biblioteques virtuals
\n"
+"\n"
+" ,
i
."
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr "Genera un índex a partir de &tots els títols"
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
@@ -20102,11 +20489,11 @@ msgstr ""
"llibre identifica els títols utilitzant etiquetes d'encapçalament HTML. "
"Utilitza les etiquetes
\n"
" Quitting may cause corruption on the device.
\n"
@@ -20503,11 +20949,11 @@ msgstr ""
" Si sortiu podeu malmetre el dispositiu.
\n"
" Segur que voleu sortir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Tasques actives"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -21081,29 +21527,29 @@ msgstr "Mida de lletra per defecte"
msgid "S&earch Google for '%s'"
msgstr "C&erca «%s» a Google"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr "A&tansa"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr "A&llunya"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr "&Desa com a"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr "&Rota"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr "Trieu en quin fitxer es desarà"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr "Visualitza la imatge: %s"
@@ -22599,8 +23045,8 @@ msgstr ""
"de cerca vegeu la documentació relacionada al Manual de l'usuari. Per "
"defecte no es filtra."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -22608,12 +23054,12 @@ msgstr ""
"Amplada màxima d'una línia a la sortida. Per defecte es detecta la mida de "
"la pantalla."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
"Cadena que es fa servir per separar els camps. Per defecte és un espai."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -22621,15 +23067,15 @@ msgstr ""
"Prefix per a tots els camins dels fitxers. Per defecte és el camí d'accés a "
"la carpeta de la biblioteca."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Camps no vàlids. Camps disponibles:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Camp d'ordenació no vàlid. Camps disponibles:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -22637,13 +23083,13 @@ msgstr ""
"No s'ha afegit els llibres següents perquè ja són a la base de dades (vegeu "
"l'opció --duplicates):"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr "S'ha afegit els idectificadors de llibre: %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -22657,7 +23103,7 @@ msgstr ""
"indicar carpetes, vegeu\n"
"les opcions relacionades amb les carpetes més avall.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -22665,11 +23111,11 @@ msgstr ""
"Assumeix que cada carpeta conté un sol llibre lògic i que tots els fitxers "
"que hi ha són diferents formats del mateix llibre"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Processa les carpetes de forma recursiva"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -22677,43 +23123,43 @@ msgstr ""
"Afegeix els llibres a la base de dades encara que ja existeixin. La "
"comparació es fa mitjançant els títols dels llibres."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Afegeix un llibre en blanc (sense formats)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr "Estableix el títol del(s) llibre(s) afegit(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr "Estableix els autors del(s) llibre(s) afegit(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr "Estableix l'ISBN del(s) llibre(s) afegit(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr "Estableix les etiquetes del(s) llibre(s) afegit(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr "Estableix la sèrie del(s) llibre(s) afegit(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr "Estableix el nombre de sèrie del(s) llibre(s) afegit(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr "Camí a la portada que s'utilitzarà per al llibre afegit"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Heu d'especificar almenys un camp per afegir"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -22731,33 +23177,44 @@ msgstr ""
"exemple, 23,34,57-85 (quan s'especifica un interval no s'inclou el darrer "
"nombre de l'interval).\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Heu d'especificar almenys un llibre per suprimir"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr "Ja hi ha un fitxer %s per al llibre: %d, no es reemplaçarà"
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [opcions] ID fitxer_de_llibre\n"
+"%prog add_format [opcions] id fitxer_llibre\n"
"\n"
-"Afegiu el llibre que s'especifiqui als formats disponibles del llibre lògic "
-"identificat per ID. Podeu aconseguir l'ID amb l'ordre «list». Si el format "
-"ja existeix es sobreescriurà.\n"
+"Afegeix el llibre de «fitxer_llibre» als formats disponibles per al llibre "
+"lògic identificat per «id». Podeu aconseguir la «id» amb l'ordre «list». Si "
+"el format ja existeix es reemplaçarà, a no ser que s'especifiqui l'opció de "
+"no reemplaçar."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr "No reemplacis el format si ja existeix"
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Heu d'especificar una ID i un fitxer de llibre"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "Els fitxers de llibre han de tenir una extensió"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -22774,11 +23231,11 @@ msgstr ""
"fitxer com LRF, TXT o EPUB. Si el llibre lògic no té el format que "
"s'especifica no es farà res\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Heu d'especificar una ID i un format"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -22794,15 +23251,15 @@ msgstr ""
"que identifica l'ID.\n"
"ID és un número obtingut amb l'ordre «list».\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Imprimeix les metadades en format OPF (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Heu d'especificar una ID"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -22828,7 +23285,7 @@ msgstr ""
"amb\n"
"l'opció «--field».\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -22845,42 +23302,42 @@ msgstr ""
"la sintaxi és {0} {2}. Per als camps booleans (sí/no) utilitzeu «true» i "
"«false» o «yes» i «no»."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
"Mostra una llista dels noms dels camps de metadades que es poden utilitzar "
"amb l'opció --field opció"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr "Nom del camp"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr "Heu d'especificar un identificador de registre com a primer argument"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr "Heu d'especificar o un camp o un arxiu opf"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr "No hi ha cap llibre amb la ID: %s a la base de dades"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr "El fitxer OPF %s no existeix"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr "%s no és un camp conegut"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -22898,29 +23355,29 @@ msgstr ""
"metadades (a un\n"
"fitxer opf). Podeu aconseguir les IDs amb l'ordre «list».\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Exporta tots els llibres de la base de dades, ignorant la llista d'IDs."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Exporta els llibres a la carpeta que s'indica. Per defecte és"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Exporta tots els llibres a una carpeta"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Si indiqueu aquesta opció es desactiva aquest comportament."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Heu d'indicar alguna ID o l'opció %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -22937,7 +23394,7 @@ msgstr ""
"espais ni dos punts. El nom és el nom visible de la columna. El tipus de "
"dades és un de: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -22945,7 +23402,7 @@ msgstr ""
"Aquesta columna emmagatzema les etiquetes com a dades (amb valors separats "
"per comes). Només s'aplica si les dades són de tipus text."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -22982,11 +23439,11 @@ msgstr ""
"de crear la columna). Veureu la cadena JSON per a «display» de la nova "
"columna al fitxer OPF."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Heu d'indicar etiqueta, nom i tipus de dades"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -23005,7 +23462,7 @@ msgstr ""
"genera.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -23015,7 +23472,7 @@ msgstr ""
"Si es declara, s'ignora --search.\n"
"Per defecte: totes"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -23025,16 +23482,16 @@ msgstr ""
"documentació del tema al Manual de l'usuari.\n"
"Per defecte: sense filtre"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr "Mostra informació de sortida detallada. Útil per a depurar"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Error: Heu d'indicar un fitxer de sortida del catàleg"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -23055,7 +23512,7 @@ msgstr ""
" l'ordre custom_columns.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -23063,11 +23520,11 @@ msgstr ""
"Si la columna conté múltiples valors, afegeix els valors que s'indiquen als "
"que ja hi ha, en lloc de substituir-los."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Error: Heu d'indicar un nom de camp, ID i valor"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -23082,20 +23539,20 @@ msgstr ""
"etiquetes de columna i les IDs.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Mostra els detalls de cada columna."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr "Perdreu totes les dades de la columna: %s. N'esteu segur (s/n)? "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
@@ -23105,7 +23562,7 @@ msgstr ""
"columna, no els títols. Utilitzeu «calibredb custom_columns» per aconseguir "
"una llista d'etiquetes."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -23122,15 +23579,15 @@ msgstr ""
" les columnes disponibles amb l'ordre custom_columns.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "No demanis confirmació"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Error: Heu d'indicar una etiqueta per a la columna"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -23152,40 +23609,40 @@ msgstr ""
" es sobreescriurà.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Error: Heu d'indicar una acció (add/remove/list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Nom:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Cadena de cerca:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Error: Heu d'indicar un nom i una cadena de cerca"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "s'ha afegit"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Error: Heu d'indicar un nom"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "s'ha suprimit"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr "Error: No es reconeix l'acció %s, ha de ser una de «add/remove/list»"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -23213,7 +23670,7 @@ msgstr ""
"una còpia de seguretat dels fitxers OPF cada cop que es canvien les "
"metadades.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
@@ -23221,7 +23678,7 @@ msgstr ""
"Normalment aquesta ordre només actua en llibres que tenen fitxers OPF "
"obsolets. Aquesta opció fa que actuï en tots els llibres."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -23233,12 +23690,12 @@ msgstr ""
"Fes algunes comprovacions al sistema de fitxers que hi ha en una biblioteca. "
"Els resultats són {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Sortida CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -23246,7 +23703,7 @@ msgstr ""
"Llista d'informes separats per comes.\n"
"Per defecte: tots"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -23254,7 +23711,7 @@ msgstr ""
"Llista de les extensions que s'ignoraran separada per comes.\n"
"Per defecte: totes"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -23262,11 +23719,11 @@ msgstr ""
"Llista de noms que s'ignoraran separats per comes.\n"
"Per defecte: tots"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Informe de comprovació desconegut"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -23296,19 +23753,19 @@ msgstr ""
"OPF.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
"Fes la recuperació. L'ordre no s'executa si no s'especifica aquesta opció."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr "Heu d'introduir l'opció %s per fer una recuperació"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -23321,7 +23778,7 @@ msgstr ""
"La\n"
"informació equival al que es mostra a la subfinestra d'etiquetes.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -23329,7 +23786,7 @@ msgstr ""
"Genera només la sortida del nombre d'elements en una categoria en lloc del "
"recompte per element a cada categoria"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -23337,7 +23794,7 @@ msgstr ""
"El caràcter que es posarà al voltant del valor de la categoria en mode CSV. "
"Per defecte són les cometes (\")."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -23345,17 +23802,17 @@ msgstr ""
"Llista separada per comes dels noms de la categoria de cerca.\n"
"Per defecte: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"La cadena que es farà servir per separar els camps en mode CSV. Per defecte "
"és una coma."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "ELEMENTS DE LES CATEGORIES"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -23389,32 +23846,23 @@ msgstr ""
"L'etiqueta només pot contenir lletres minúscules, nombres i guions baixos, i "
"ha de començar amb una lletra"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr "s'ha restaurat la preferència "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "s'està creant una columna personalitzada "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr " (%s llibres)"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
%(typ)s
Chapter Progress: %(chapter_progress)s%%
Highlight: %(text)s
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Create new bookshelves on the Kobo Touch if they do not exist. This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233
msgid "Delete any empty bookshelves from the Kobo Touch when syncing is finished. This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid "Upload cover images from the calibre library when sending books to the device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238
msgid "When uploading covers, do not change the aspect ratio when resizing for the device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Kobo shows recommendations on the device. In some cases these have files but in other cases they are just pointers to the web site to buy. Enable if you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1253
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1254
msgid "The book lists on the Kobo devices can display series information. This is not read by the device from the sideloaded books. Series information can only be added to the device after the book has been processed by the device. Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1259
msgid "Kobo routinely updates the firmware and the database version. With this option Calibre will attempt to perform full read-write functionality - Here be Dragons!! Enable only if you are comfortable with restoring your kobo to factory defaults and testing software. This driver supports firmware V2.x.x and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1265
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1266
msgid "Part of title of a book that can be used when doing some tests for debugging. The test is to see if the string is contained in the title of a book. The better the match, the less extraneous output."
msgstr ""
@@ -1710,55 +1751,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -1770,74 +1811,74 @@ msgstr ""
msgid "Communicate with MTP devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:167
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:960
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:169
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:963
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:95
msgid "Get device information..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:190
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:192
msgid "Listing files, this can take a while"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:205
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:207
msgid "Reading ebook metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:238
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:240
#, python-format
msgid "Reading metadata from %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:257
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:259
msgid "Updating metadata cache on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:261
msgid "Finished reading metadata from device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:419
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:421
#, python-format
msgid "Transferred %s to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:421
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:423
msgid "Transfer to device finished..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:442
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444
#, python-format
msgid "Added %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:446
msgid "Adding complete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:460
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:462
msgid "Deleting books from device..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:466
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:468
#, python-format
msgid "Deleted %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:467
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:469
msgid "All books deleted"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:470
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:472
msgid "Removing books from metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:482
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484
#, python-format
msgid "Removed %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484
+#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:486
msgid "All books removed"
msgstr ""
@@ -1888,66 +1929,66 @@ msgstr ""
msgid "Communicate with the Nuut2 eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:21
msgid "Communicate with Sony eBook readers older than the PRST1."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:60
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:59
msgid "Comments have been removed as the SONY reader chokes on them"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:65
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:271
+msgid "All by title"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:272
-msgid "All by title"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:67
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273
msgid "All by author"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:70
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:69
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:68
msgid "Comma separated list of metadata fields to turn into collections on the device. Possibilities include: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:73
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:72
#, python-format
msgid ". Two special collections are available: %(abt)s:%(abtv)s and %(aba)s:%(abav)s. Add these values to the list to enable them. The collections will be given the name provided after the \":\" character."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:76
msgid "Upload separate cover thumbnails for books (newer readers)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77
msgid "Normally, the SONY readers get the cover image from the ebook file itself. With this option, calibre will send a separate cover image to the reader, useful if you are sending DRMed books in which you cannot change the cover. WARNING: This option should only be used with newer SONY readers: 350, 650, 950 and newer."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:84
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:83
msgid "Refresh separate covers when using automatic management (newer readers)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:85
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78
msgid "Set this option to have separate book covers uploaded every time you connect your device. Unset this option if you have so many books on the reader that performance is unacceptable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:89
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:82
msgid "Preserve cover aspect ratio when building thumbnails"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:84
msgid "Set this option if you want the cover thumbnails to have the same aspect ratio (width to height) as the cover. Unset it if you want the thumbnail to be the maximum size, ignoring aspect ratio."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:95
msgid "Search for books in all folders"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:98
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:97
msgid "Setting this option tells calibre to look for books in all folders on the device and its cards. This permits calibre to find books put on the device by other software and by wireless download."
msgstr ""
@@ -1980,107 +2021,107 @@ msgstr ""
msgid "Set this option if you want the author on the Sony to appear the same way the T1 sets it. This means it will only show the first author for books with multiple authors. Leave this disabled if you use Metadata Plugboards."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:184
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:183
msgid "Wireless Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:188
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:187
msgid "Communicate with Smart Device apps"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:274
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273
msgid "All by something"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:276
msgid "Enable connections at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:278
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:277
msgid "Check this box to allow connections when calibre starts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:280
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:279
msgid "Security password"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:281
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:280
msgid "Enter a password that the device app must use to connect to calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:282
msgid "Use fixed network port"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:284
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:283
msgid "If checked, use the port number in the \"Port\" box, otherwise the driver will pick a random port"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:286
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:285
msgid "Port number: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:286
msgid "Enter the port number the driver is to use if the \"fixed port\" box is checked"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:288
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287
msgid "Print extra debug information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:288
msgid "Check this box if requested when reporting problems"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:291
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:290
msgid "Comma separated list of metadata fields to turn into collections on the device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:292
msgid "Possibilities include: series, tags, authors, etc"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:300
msgid "Enable the no-activity timeout"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:302
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301
#, python-format
msgid "If this box is checked, calibre will automatically disconnect if a connected device does nothing for %d minutes. Unchecking this box disables this timeout, so calibre will never automatically disconnect."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:306
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:305
msgid "Use this IP address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:307
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:306
msgid "Use this option if you want to force the driver to listen on a particular IP address. The driver will listen only on the entered address, and this address will be the one advertized over mDNS (bonjour)."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:310
msgid "Replace books with the same calibre identifier"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:312
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311
msgid "Use this option to overwrite a book on the device if that book has the same calibre identifier as the book being sent. The file name of the book will not change even if the save template produces a different result. Using this option in most cases prevents having multiple copies of a book on the device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:805
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:807
#, python-format
msgid "Too many connection attempts from %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1312
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1315
#, python-format
msgid "Invalid port in options: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1320
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1323
#, python-format
msgid "Failed to connect to port %d. Try a different value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1332
+#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:1335
msgid "Failed to allocate a random port"
msgstr ""
@@ -2191,7 +2232,7 @@ msgstr ""
msgid "Extra customization"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:40
msgid "Communicate with an eBook reader."
msgstr ""
@@ -2508,32 +2549,32 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:32
msgid "Traverse links in HTML files breadth first. Normally, they are traversed depth first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:40
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:39
#, python-format
msgid "Maximum levels of recursion when following links in HTML files. Must be non-negative. 0 implies that no links in the root HTML file are followed. Default is %default."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:49
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_input.py:48
msgid "Normally this input plugin re-arranges all the input files into a standard folder hierarchy. Only use this option if you know what you are doing as it can result in various nasty side effects in the rest of the conversion pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid "Template used for generation of the html index file instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid "Template used for the generation of the html contents of the book instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid "Extract the contents of the generated ZIP file to the specified directory. WARNING: The contents of the directory will be deleted."
msgstr ""
@@ -3499,65 +3540,61 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid "Extract common e-book formats from archives (zip/rar) files. Also try to autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:61
-msgid "Value: unknown field "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:132
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:769
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:772
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:773
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:982
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:157
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:245
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:775
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:186
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:102
@@ -3580,21 +3617,23 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:128
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:777
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:184
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:225
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:129
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -3603,18 +3642,18 @@ msgid_plural "Series"
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:748
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:780
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:750
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:752
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
@@ -3622,10 +3661,14 @@ msgstr ""
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:784
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:754
msgid "Rights"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/formatter.py:32
+msgid "Value: unknown field "
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20
msgid "options"
msgstr ""
@@ -3717,75 +3760,93 @@ msgid ""
"Fetch a cover image/social metadata for the book identified by ISBN from LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1496
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:255
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:517
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:538
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:190
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:173
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid "Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
msgid "Downloads metadata and covers from Douban.com. Useful only for chinese language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid "Downloads metadata and covers from Edelweiss - A catalog updated by book publishers"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:162
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:161
msgid "Downloads metadata and covers from Google Books"
msgstr ""
@@ -3797,10 +3858,6 @@ msgstr ""
msgid "Configure the Google Image Search plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
-msgid "Maximum number of covers to get"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
msgid "The maximum number of covers to process from the google search result"
msgstr ""
@@ -3832,19 +3889,19 @@ msgstr ""
msgid "Larger than %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:23
msgid "Downloads metadata from isbndb.com"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:34
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:33
msgid "IsbnDB key:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:34
msgid "To use isbndb.com you have to sign up for a free account at isbndb.com and get an access key."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:39
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:38
msgid "To use metadata from isbndb.com you must sign up for a free account and get an isbndb key and enter it below. Instructions to get the key are here."
msgstr ""
@@ -3868,7 +3925,7 @@ msgstr ""
msgid "Additional metadata can be taken from Overdrive's book detail 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. Check the download all metadata option below to enable downloading this data."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:20
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:18
msgid "Downloads metadata and covers from OZON.ru"
msgstr ""
@@ -3881,12 +3938,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -3907,72 +3964,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:356
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -3981,11 +4038,11 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid "This MOBI file does not contain a KF8 format book. KF8 is the new format from Amazon. calibre can only edit MOBI files that contain KF8 books. Older MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit MOBI files that contain only KF8 data."
msgstr ""
@@ -4005,12 +4062,12 @@ msgid ""
"changes needed for the desired effect.\n"
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid "Some of the selected books are on the attached device. Where do you want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
#, python-format
msgid "The %d selected book(s) will be permanently deleted and the files removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
#, python-format
msgid "The %d selected book(s) will be permanently deleted from your device. Are you sure?"
msgstr ""
@@ -5273,12 +5344,12 @@ msgid "Share books using a web server or email. Connect to special devices, etc.
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -5306,147 +5377,173 @@ msgstr ""
msgid "Manage the collections on this device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27
msgid "Change the title/author/cover etc. of books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27
msgid "E"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:26
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27
msgid "Edit metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:62
msgid "Edit metadata individually"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:65
msgid "Edit metadata in bulk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:68
msgid "Download metadata and covers"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:75
msgid "Merge into first selected book - delete others"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:78
msgid "Merge into first selected book - keep others"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:82
msgid "Merge only formats into first selected book - delete others"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
msgid "Merge book records"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:88
msgid "M"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103
msgid "Cannot download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:120
msgid "Failed to download metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:882
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:131
#, python-format
msgid "Failed to download metadata or covers for any of the %d book(s)."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:134
msgid "Metadata download completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:136
#, python-format
msgid "Finished downloading metadata for %d book(s). Proceed with updating the metadata in your library?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:144
#, python-format
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/actions/edit_metadata.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:146
msgid "Show the &failed books in the main book list after updating metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:154
msgid "Download complete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:945
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:154
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:225
+msgid "Review downloaded metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:184
msgid "Some books changed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:180
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:185
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/actions/edit_metadata.py:218
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:226
+msgid "Discard downloaded metadata for this book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:227
+msgid "Use the downloaded metadata for all remaining books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:228
+msgid "Discard downloaded metadata for all remaining books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:229
+#, python-format
+msgid "Discard the downloaded value for: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:230
+msgid "The downloaded metadata is on the left and the original metadata is on the right. If a downloaded value is blank or unknown, the original value is used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:274
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:343
msgid "Cannot edit metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:327
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:383
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:386
msgid "Cannot merge books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:331
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:387
msgid "At least two books must be selected for merging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:390
msgid "You are about to merge more than 5 books. Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:343
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:399
#, python-format
msgid "Book formats and metadata from the selected books will be added to the first selected book (%s). ISBN will not be merged.
The second and subsequently selected books will not be deleted or changed.
Please confirm you want to proceed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:355
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:411
#, python-format
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 changed. Author, Title, ISBN and all other metadata will not be merged.
After merger the second and subsequently selected books, with any metadata they have will be deleted.
All book formats of the first selected book will be kept and any duplicate formats in the second and subsequently selected books will be permanently deleted from your calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:371
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:427
#, python-format
msgid "Book formats and metadata from the selected books will be merged into the first selected book (%s). ISBN will not be merged.
After merger the second and subsequently selected books will be deleted.
All book formats of the first selected book will be kept and any duplicate formats in the second and subsequently selected books will be permanently deleted from your calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:597
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:686
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:687
msgid "Failed to apply updated metadata for some books in your library. Click \"Show Details\" to see details."
msgstr ""
@@ -5549,193 +5646,210 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid "Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid "Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid "You have selected the option to add metadata as a \"book jacket\". For this option to work, you must also select the option to update metadata in the book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid "Polishing is only supported for books in the %s formats. Convert to one of those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -5849,7 +5963,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -5954,7 +6068,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -5966,33 +6080,33 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid "Calibre helps you find the ebooks you want by searching the websites of various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid "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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid "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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6065,7 +6179,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:105
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:248
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:234
#: /usr/src/qt-everywhere-opensource-src-4.8.4/src/gui/widgets/qdialogbuttonbox.cpp:667
msgid "&Cancel"
@@ -6240,7 +6354,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -6436,7 +6550,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -6480,16 +6594,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -6742,7 +6865,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -6969,172 +7092,172 @@ msgstr ""
msgid "Tab template for catalog.ui"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:79
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:80
msgid "Bold"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:81
msgid "Italic"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:84
msgid "Underline"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:86
msgid "Strikethrough"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:88
msgid "Superscript"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:90
msgid "Subscript"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:92
msgid "Ordered list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:94
msgid "Unordered list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:97
msgid "Align left"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:99
msgid "Align center"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:101
msgid "Align right"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:103
msgid "Align justified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:104
msgid "Undo"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:105
msgid "Redo"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:105
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:106
msgid "Remove formatting"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:107
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:174
msgid "Copy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:107
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:108
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:176
msgid "Paste"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:109
msgid "Cut"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:110
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:111
msgid "Increase Indentation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:113
msgid "Decrease Indentation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:115
msgid "Select all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:126
msgid "Foreground color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:131
msgid "Background color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:134
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:135
msgid "Style text block"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:137
msgid "Style the selected text block"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:142
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:142
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:143
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:144
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:145
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:147
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:148
msgid "Heading"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:149
msgid "Pre-formatted"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:150
msgid "Blockquote"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:151
msgid "Address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:158
msgid "Insert link"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:84
msgid "Clear"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:188
msgid "Choose foreground color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:194
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config.py:239
msgid "Choose background color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:214
msgid "Create link"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:220
msgid "Enter &URL:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:216
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:221
msgid "Enter name (optional):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:584
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:589
msgid "Normal view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:585
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:590
msgid "HTML Source"
msgstr ""
@@ -8111,6 +8234,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:97
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:610
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:483
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:124
msgid "&Next"
@@ -8250,6 +8374,10 @@ msgstr ""
msgid "
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -12298,7 +12434,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
@@ -12440,7 +12576,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1000
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -12756,26 +12892,26 @@ msgstr ""
msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes. Apply changes?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1188
msgid "A comma separated list of languages for this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1212
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1213
msgid "Unknown language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1213
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1214
#, python-format
msgid "The language %s is not recognized"
msgid_plural "The languages %s are not recognized"
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1225
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1226
msgid "I&ds:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1226
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1227
#, python-format
msgid ""
"Edit the identifiers for this book. For example: \n"
@@ -12783,38 +12919,38 @@ msgid ""
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1290
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1352
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1291
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1353
msgid "This ISBN number is valid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1293
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1355
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1294
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1356
msgid "This ISBN number is invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1318
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1340
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1341
msgid "Invalid ISBN"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1320
msgid "Enter an ISBN"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1341
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1342
msgid "The ISBN you entered is not valid. Try again."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1365
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1366
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1440
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1442
msgid "Clear date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1474
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1476
msgid "Publishe&d:"
msgstr ""
@@ -12878,6 +13014,33 @@ msgstr ""
msgid "Downloaded metadata fields"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:348
+#, python-format
+msgid "Revert %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:452
+msgid "Compare metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:468
+msgid "&Accept all remaining"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:473
+msgid "Re&ject all remaining"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:478
+msgid "&Reject"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/diff.py:523
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:301
+#, python-format
+msgid " [%(num)d of %(tot)d]"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/pdf_covers.py:35
msgid "Choose a cover from the list of PDF pages below"
msgstr ""
@@ -12909,7 +13072,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:993
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -12989,11 +13152,6 @@ msgstr ""
msgid "Change how calibre downloads metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:301
-#, python-format
-msgid " [%(num)d of %(tot)d]"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:359
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:369
msgid "Could not read cover"
@@ -13053,7 +13211,7 @@ msgstr ""
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:206
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -13061,62 +13219,66 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:461
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:483
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:515
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Failed to find any books that match your search. Try making the search less specific. For example, use only the author's last name and a single distinctive word from the title.Virtual Libraries
\n"
+"\n"
+"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:757
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:825
msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray."
msgstr ""
@@ -17236,29 +17552,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -17992,7 +18308,7 @@ msgid ""
"Applies to: CSV, XML output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:43
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:42
#, python-format
msgid ""
"Title of generated catalog used as title in metadata.\n"
@@ -18000,7 +18316,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:50
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:49
#, python-format
msgid ""
"Create cross-references in Authors section for books with multiple authors.\n"
@@ -18008,7 +18324,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:57
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:56
#, python-format
msgid ""
"Save the output from different stages of the conversion pipeline to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring.\n"
@@ -18016,7 +18332,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:67
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:66
#, python-format
msgid ""
"Regex describing tags to exclude as genres.\n"
@@ -18024,7 +18340,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:74
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:73
msgid ""
"Specifies the rules used to exclude books from the generated catalog.\n"
"The model for an exclusion rule is either\n"
@@ -18037,7 +18353,7 @@ msgid ""
"Default: \n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:87
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:86
#, python-format
msgid ""
"Include 'Authors' section in catalog.\n"
@@ -18045,7 +18361,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:94
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:93
#, python-format
msgid ""
"Include 'Descriptions' section in catalog.\n"
@@ -18053,7 +18369,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:101
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:100
#, python-format
msgid ""
"Include 'Genres' section in catalog.\n"
@@ -18061,7 +18377,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:108
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:107
#, python-format
msgid ""
"Include 'Titles' section in catalog.\n"
@@ -18069,7 +18385,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:115
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:114
#, python-format
msgid ""
"Include 'Series' section in catalog.\n"
@@ -18077,7 +18393,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:122
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:121
#, python-format
msgid ""
"Include 'Recently Added' section in catalog.\n"
@@ -18085,7 +18401,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:129
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:128
#, python-format
msgid ""
"Source field for Genres section.\n"
@@ -18093,7 +18409,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:136
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:135
#, python-format
msgid ""
"Custom field containing note text to insert in Description header.\n"
@@ -18101,7 +18417,7 @@ msgid ""
"Applies to: AZW3, ePub, MOBI output formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:143
+#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi.py:142
#, python-format
msgid ""
"#
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr "Zadejte typy sloupců štítků pro automatické řízení"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Vytvořit regály"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Vymazat prázdné regály"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Nahrát obaly knih"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
+"Během nahrávání obálek neměnit při změně velikosti poměr stran. (Pro "
+"firmware v. 2.3.1 a novější)"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr "Nastavit informace série"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1941,7 +1982,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1950,11 +1991,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
-msgstr ""
+msgstr "Titul pro vyzkoušení během ladění"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1974,55 +2015,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Spojit se s Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Komunikace s Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Komunikace s VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Komunikace s GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Komunikace s Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Komunikace s Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Komunikace s Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Komunikace s EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Spojeno s tabletem Adam"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Komunikace s Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Spojeno se čtečkou Moovybook"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Spojeno s COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Komunikace s Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2118,7 +2159,7 @@ msgstr "Nalezen objekt: %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61
msgid "MTP devices are not supported on Windows XP"
-msgstr ""
+msgstr "MTP zařízení nejou na Windows XP podporována"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69
msgid ""
@@ -2147,7 +2188,7 @@ msgstr "Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Komunikace se čtečkou Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Komunikovat s Nook Color, TSR a Tablet eBook čtečkami."
@@ -2669,7 +2710,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Na paměťové kartě není dostatek volného místa"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Úspešný převod %s"
@@ -3063,24 +3104,24 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "Soubor CSS používaný pro výstup namísto výchozího souboru"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr "Šablona použitá ke generování html indexu namísto výchozího souboru"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
"Šablona použitá ke generování html obsahu knihy namísto výchozího souboru"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3395,15 +3436,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4513,7 +4558,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Zadejte identifikátor knihy"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4539,27 +4584,27 @@ msgstr "Ne"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Název"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(ři)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Vydavatel"
@@ -4595,13 +4640,14 @@ msgstr "Komentáře"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Štítky"
@@ -4610,9 +4656,10 @@ msgstr "Štítky"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4623,7 +4670,7 @@ msgstr[1] "Série"
msgstr[2] "Série"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4635,8 +4682,8 @@ msgstr "Časové razítko"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Vydáno"
@@ -4773,60 +4820,60 @@ msgstr ""
"Stáhnout obálku/metadata pro knihu identifikovanou podle ISBN z "
"LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Obálka"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Stáhnout metadata a obálky z Amazonu"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "US"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "Francie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Německo"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "UK"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Itálie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japonsko"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "Španělsko"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Stránka Amazonu k použití:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr "Metadata od Amazonu budou načtena pomocí místní stránky Amazon."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "Spojení s Amazonem vypršelo. Zkuste to později."
@@ -4834,6 +4881,24 @@ msgstr "Spojení s Amazonem vypršelo. Zkuste to později."
msgid "Metadata source"
msgstr "Zdroj meta dat"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -4842,7 +4907,7 @@ msgstr ""
"Stáhnout metadata a obálky z Douban.com. Použitelné pouze pro knihy v "
"čínštině."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4852,6 +4917,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Stáhnout metadata a obálky z Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Velké"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Stahuje metadata z isbndb.com"
@@ -4922,12 +5028,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "Toto je kniha Amazon Topaz. Ta nemůže být zpracována."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr "Toto není MOBI soubor. Je to Topaz soubor."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr "Toto není MOBI soubor."
@@ -4954,72 +5060,72 @@ msgid "No details available"
msgstr "Žádné detaily nejsou k dispozici"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Obsah"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Titulní stránka"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Rejstřík"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Slovník pojmů"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Pděkování"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliografie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Tiráž"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Autorská práva"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Věnování"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Doslov"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Předmluva"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Seznam Ilustrací"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Seznam tabulek"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Poznámky"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Úvod"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Hlavní text"
@@ -5028,14 +5134,14 @@ msgstr "Hlavní text"
msgid "%s format books are not supported"
msgstr "Knihy ve formátu %s nejsou podporovány."
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5060,12 +5166,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Není možné smazat knihy"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "Není připojeno žádné zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Hlavní paměť"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Paměťová karta A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Paměťová karta B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Žádné knihy ke smazání"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Žádné knihy z vybraných nejsou na zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Mažu knihy ze zařízení."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6355,21 +6479,19 @@ msgstr ""
"Některé z vybraných knih jsou v připojeném zařízení. Odkud chcete "
"vybrané soubory smazat?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"Vybrané knihy budou trvale odstraněny a soubory smazány z vaše "
-"calibre knihovny. Jste si jisti?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Vybrané knihy budou trvale odstraněny z vašeho zařízení. Jste si "
-"jisti?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6444,12 +6566,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Zastavuji"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr "Zastavuji server, to může trvat až minutu, prosím, čekejte..."
@@ -6533,8 +6655,8 @@ msgstr "Nepodařilo se stáhnout metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Stahování selhalo"
@@ -6571,7 +6693,7 @@ msgid "Download complete"
msgstr "Stahování dokončeno"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Download log"
@@ -6659,15 +6781,15 @@ msgstr ""
"dalších vybraných knihách budou trvale odstraněny z vaší knihovny "
"calibre.
Jste si jistí že to chcete provést?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Použít změněná metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Vyskytly se chyby"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6772,17 +6894,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Vylepšit &interpunkce"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -7089,7 +7233,7 @@ msgid "Click the show details button to see which ones."
msgstr "Klikněte na tlačítko zobrazit detaily pro zjištění které z nich."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Zobrazit podrobnosti o knize"
@@ -7194,7 +7338,7 @@ msgid "this book"
msgstr "tato kniha"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Hledat %s"
@@ -7206,17 +7350,17 @@ msgstr "Obchody"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Zvolte obchody"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "Nelze hledat"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
@@ -7224,14 +7368,14 @@ msgstr ""
"Calibre Vám pomáhá nalézt knihy, které chcete, prohledáváním webových "
"stránek různých zdrojů komerčních a volných knih."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7247,11 +7391,11 @@ msgstr ""
"vaší čtečkou elektronických knih, zvláště pokud kniha, kterou kupujete "
"obsahuje DRM."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Ukaž tuto zprávu znovu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "O funkci získat knihy"
@@ -7520,7 +7664,7 @@ msgid "The specified directory could not be processed."
msgstr "Zadaný adresář nebylo možné zpracovat."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Žádné knihy"
@@ -7745,7 +7889,7 @@ msgid "Click to open"
msgstr "Klikněte pro otevření"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "Ids"
@@ -7755,7 +7899,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Kolekce"
@@ -7789,16 +7933,25 @@ msgstr "Cesta"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Velikost obálky: %(width)d x %(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr "Vymazat %s formát"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr "Uložit %s formát na disk"
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "BibTeX volby"
@@ -7866,7 +8019,7 @@ msgstr "výstup"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8052,7 +8205,7 @@ msgstr "Pravda"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Jméno"
@@ -8392,8 +8545,8 @@ msgid "Style the selected text block"
msgstr "Nastyluj označené textové pole"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normální"
@@ -9328,59 +9481,63 @@ msgstr "Žádné obrázky"
msgid "PDF Output"
msgstr "PDF Výstup"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Velikost papíru:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr "&Vlastní velikost:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Zachovat poměr stran pro obálku"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "&Patkové písmo"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "&Bezpatkové písmo:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "&Neproporcionální písmo:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "Vý&chozí písmo:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9392,13 +9549,29 @@ msgstr ""
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "&Velikost neproporcionálního písma:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9639,6 +9812,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Převést"
@@ -10219,7 +10396,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Žádné vhodné formáty"
@@ -10265,67 +10442,67 @@ msgstr "Zařízení: "
msgid " detected."
msgstr " nalezeno."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "vybrané k odeslání"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Žádné zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr "Není připojeno žádné zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 z %i Knih"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Vyberte formát k odeslání do zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Nemohu odeslat: Není připojeno žádné zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Žádná karta"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Nemohu odeslat: Zařízení nemá pamětovou kartu."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"Automaticky zkonvertovat následující knihy, než se nahrají do zařízení?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Odeslat katalog do zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Odesílám zprávy do zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Odesílám knihy do zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -10334,18 +10511,18 @@ msgstr ""
"žádné vhodné formáty. Převést knihu(y) do formátu, které přístroj primárně "
"podporuje."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Na zařízení není volné místo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -14072,19 +14256,19 @@ msgstr ""
"
Slova rozdělená mezerou budou doplněna o AND"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Začít!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Provést rychlé hledání (můžete také stisknout klávesu Enter)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Zrušit rychlé vyhledávání"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Zkopírovat právě hledaný text (namísto hledání názvu)"
@@ -14097,32 +14281,32 @@ msgstr "hvězdiček"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "Na zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Velikost (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Změněno"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "Hledaný název je \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "UUID knihy je \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -14131,30 +14315,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "V knihovně"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Velikost"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Označeno ke smazání"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Dvakrát klikněte na upravit mě
"
@@ -14261,7 +14445,7 @@ msgid "Previous Page"
msgstr "Předcházející strana"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14772,7 +14956,7 @@ msgid "Edit Metadata"
msgstr "Upravit metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14919,15 +15103,15 @@ msgstr "&Komentáře"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14935,29 +15119,29 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Dotaz: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Nepodařilo se stáhnout metadata. Klepněte na tlačítko Zobrazit podrobnosti "
"k zobrazení detailů"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14965,38 +15149,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Stáhnout obálku..."
@@ -15146,7 +15336,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -15189,34 +15380,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Vysoká"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Nízká"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Volitelné"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Všechny potvrzovací dialogy byly vyresetovány"
@@ -15267,18 +15458,15 @@ msgid "Job &priority:"
msgstr "&Priorita úloh:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Omezení platí pokud je současná knihovna otevřená:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Použít toto omezení při startu Calibre, pokud je používána stávající "
-"knihovna. Také bude použito při přepnutí na tuto knihovnu. Všimněte si, že "
-"toto nastavení je na knihovnu. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -16213,10 +16401,6 @@ msgstr ""
msgid "Small"
msgstr "Malé"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Velké"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Střední"
@@ -16234,7 +16418,7 @@ msgid "Never"
msgstr "Nikdy"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Podle prvního písmena"
@@ -17220,20 +17404,20 @@ msgstr ""
"jednotlivá zařízení přizpůsobením pluginů rozhraní zařízení v Nastavení-> "
"Upřesnit-> Pluginy"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Nepodařilo se spustit obdahový server"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Záznam o chybách:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Záznam o přístupu"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Musíte restartovat server, aby se změny projevily"
@@ -17268,18 +17452,18 @@ msgid "Max. &OPDS items per query:"
msgstr "Maximum OPDS položek v dotaze:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Max. OPDS &neseskupených položek:"
+msgid "Max. &ungrouped items:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Omezení (uložených vyhledávání) k použítí:"
+msgid "Virtual library to apply:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -17659,39 +17843,49 @@ msgstr "Obnovit &výchozí"
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
-msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr "Vytvořit uložené hledání"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr "Označené hledání bude definitivně smazáno. Jste si jistý?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Vyhledávání (pro rozšířené vyhledávání klikněte na tlačítko vlevo)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr "Zapnout či vypnout zvýrazněné vyhledávání"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Uložená vyhledávání"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr "Zvolit uložené hledání, nebo vložit jméno pro nově uložené hledání"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
@@ -17699,45 +17893,185 @@ msgstr ""
"Uložení aktuální hledání pod názvem uvedeným v polil. Stisknout a podržet "
"tlačítko pro vyskakovací menu voleb."
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr "Vytvořit uložené hledání"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr "Smazat uložené hledání"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Spravovat uložená hledání"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Aktuální hledání"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Omezit na"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
@@ -18981,11 +19371,11 @@ msgstr ""
" Ukončení může způsobit poškození v zařízení.
\n"
" Jste si jisti?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Aktivní joby"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -19537,29 +19927,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20860,19 +21250,19 @@ msgstr ""
"vyhledávání se podívejte do související dokumentace v uživatelské příručce. "
"Výchozí je neprovádět žádné filtrování."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
"Maximální šířka řádku ve výstupu. Výchozí pro určení velikosti obrazovky."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "Řetězec použitý k oddělení polí. Výchozí je mezera."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -20880,15 +21270,15 @@ msgstr ""
"Prefix pro všechny cesty k souborům. Výchozí je absolutní cesta do knihovní "
"složky."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Neplatná pole. Dostupná pole:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Neplatné pole pro řazení. Dostupná pole:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -20896,13 +21286,13 @@ msgstr ""
"Následující knihy nebyly přidány, protože již existují v databázi "
"(prozkoumejte --duplicates volbu)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20911,7 +21301,7 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -20919,11 +21309,11 @@ msgstr ""
"Předpokládá se, že každý adresář obsahuje pouze jednu logickou knihu, a že "
"všechny soubory v něm jsou různé formáty této knihy"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Zpracuj adresáře rekurzivně"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -20931,43 +21321,43 @@ msgstr ""
"Přidat knihy do databáze, i když již existují. Srovnání je prováděno na "
"základě názvů knih."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Přidat prázdnou knihu (knihu bez formátu)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Musíte vybrat alespoň jeden soubor"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20978,28 +21368,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Je třeba určit alespoň jednu knihu k odstranění"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Musíte zadat id a ebook soubor"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "ebook soubor musí mít příponu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -21009,11 +21409,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Musíte zvolit id a formát"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -21028,15 +21428,15 @@ msgstr ""
"Ukázat metadata uložená v calibre databázi pro knihu identifikovanou id.\n"
"id je číslo ze seznamu příkazů.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Vytisknout metadata v OPF formě (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Musíte zvolit id"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -21051,7 +21451,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -21061,40 +21461,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -21105,28 +21505,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr "Exportovat všechny knihy do databáze bez ohledu na ID."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Exportovat knihy do adresáře. Výchozí je"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Exportovat všechny knihy do jednoho adresáře"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Nastavení tohoto přepínače vypne toto chování."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Musíte specifikovat nějaká IDčka, nebo %s volby"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -21137,7 +21537,7 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -21145,7 +21545,7 @@ msgstr ""
"Tento sloupec ukládá tagy jako data (mnoho čárkou oddělených hodnot). "
"Použitelné pouze pokud je datový typ text."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -21165,11 +21565,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Musíte zadat označení, název a datový typ"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -21180,7 +21580,7 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -21190,7 +21590,7 @@ msgstr ""
"Pokud je deklarováno, volba --search je ignorována.\n"
"Výchozí: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -21201,17 +21601,17 @@ msgstr ""
"příručce.\n"
"Výchozí: bez filtrování"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
"Zobrazit podrobné výstupní informace. Užitečné pro hledání chyb v programu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Chyba: Musíte zadat výstupní soubor katalogu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -21223,7 +21623,7 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -21231,11 +21631,11 @@ msgstr ""
"Pokud sloupec ukládá více hodnot, přidá zvolené hodnoty do jedné existující, "
"místo toho, aby se nahradila."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Chyba: Musíte zadat název pole, id a hodnotu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -21249,27 +21649,27 @@ msgstr ""
" Seznam dostupných vlastních sloupců. Zobrazí popisky sloupců a ids.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Zobrazit podrobnosti pro každý sloupec."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "a"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -21279,15 +21679,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Bez dotazu na potvrzení"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Chyba: Musíte zadat šířku sloupce"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -21300,41 +21700,41 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Chyba: Musíte zadat akci (přidat|odstranit|seznam)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Název:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Hledaný řetězec:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Chyba: Musíte zadat název a hledaný řetězec"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "přidáno"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Chyba: Musíte zadat název"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "odstraněno"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
"Chyba: Akce %s nebyla uznána, musí být jedna z: (přidat|odstranit|seznam)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -21348,13 +21748,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -21364,12 +21764,12 @@ msgstr ""
"%prog check_library [options]\n"
"Provede nějaké kontroly na filesystému, kde je knihovna. Reporty jsou {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Výstup ve formátu CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -21377,7 +21777,7 @@ msgstr ""
"Čárkou oddělený seznam reportů.\n"
"Výchozí: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -21385,7 +21785,7 @@ msgstr ""
"Čárkami oddělený seznam ignorovaných přípon.\n"
"Výchozí: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -21393,11 +21793,11 @@ msgstr ""
"Čárkami oddělený seznam ignorovaných jmen.\n"
"Výchozí: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Neznámé hlášení o kontrole"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -21412,19 +21812,19 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
"Opravdu proveď obnovu. Příkaz nebude spuštěn, dokud je volba zvolena."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr "Musíte poskytnout %s volbu pro spuštění obnovy"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -21436,7 +21836,7 @@ msgstr ""
"Vytvoří report kategorií informací v databázi.\n"
"Informace je ekvivalentem toho, co se zobrazuje v panelu štítků.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -21444,7 +21844,7 @@ msgstr ""
"Výstupem je jen počet položek v kategorii namísto počtu položek v rámci "
"kategorie."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -21452,7 +21852,7 @@ msgstr ""
"Znak, který se umístí kolem hodnoty kategorie v CSV módu. Výchozí jsou "
"uvozovky (\")."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -21460,15 +21860,15 @@ msgstr ""
"Čárkami oddělený seznam kategorií hledaných jmen.\n"
"Výchozí: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr "Řetězec použitý k oddělení polí v režimu CSV. Výchozí je čárka."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "POLOŽKY KATEGORIE"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -21493,31 +21893,22 @@ msgstr ""
"Štítek musí obsahovat pouze malá písmena, číslice a podtržítka, a musí "
"začínat písmenem"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "vytváření uživatelských sloupců "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1846,7 +1885,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1855,11 +1894,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1879,55 +1918,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Cyfathrebwch gyda'r Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Cyfathrebwch gyda'r Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Cyfathrebwch gyda'r VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Cyfathrebwch gyda'r GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Cyfathrebwch gyda'r Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Cyfathrebwch gyda'r Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Cyfathrebwch gyda'r Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Cyfathrebwch gyda'r EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Cyfathrebwch gyda'r tabled Adam"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Cyfathrebwch gyda'r Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Cyfathrebwch gyda'r Moovybook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Cyfathrebwch gyda'r COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Cyfathrebwch gyda'r Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2052,7 +2091,7 @@ msgstr "Y Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Cyfathrebwch gyda'r porïwr e-lyfr Nook"
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Cyfathrebwch gyda porwyr e-lyfr Nook Color, TSR a Tablet"
@@ -2533,7 +2572,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2842,23 +2881,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3146,15 +3185,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4105,7 +4148,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4129,27 +4172,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4185,13 +4228,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4200,9 +4244,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4212,7 +4257,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4224,8 +4269,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4337,60 +4382,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4398,13 +4443,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4414,6 +4477,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4473,12 +4577,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4505,72 +4609,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4579,14 +4683,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4611,12 +4715,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5944,12 +6068,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6033,8 +6157,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6070,7 +6194,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6140,15 +6264,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6253,17 +6377,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6567,7 +6713,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6672,7 +6818,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6684,30 +6830,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6717,11 +6863,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6985,7 +7131,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7195,7 +7341,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7205,7 +7351,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7239,16 +7385,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7316,7 +7471,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7502,7 +7657,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7842,8 +7997,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8759,59 +8914,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8823,13 +8982,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9067,6 +9242,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9633,7 +9812,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9679,81 +9858,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13327,32 +13513,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13361,30 +13547,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13489,7 +13675,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13987,7 +14173,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14132,15 +14318,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14148,27 +14334,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14176,38 +14362,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14348,7 +14540,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14391,34 +14584,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14467,12 +14660,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15385,10 +15578,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15406,7 +15595,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16374,20 +16563,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16420,18 +16609,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16806,83 +16995,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18661,29 +19056,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19931,44 +20326,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19977,59 +20372,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20040,28 +20435,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20071,11 +20476,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20085,15 +20490,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20108,7 +20513,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20118,40 +20523,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20162,28 +20567,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20194,13 +20599,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20220,11 +20625,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20235,30 +20640,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20270,17 +20675,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20289,27 +20694,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20319,15 +20724,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20340,40 +20745,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20387,13 +20792,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20401,34 +20806,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20443,18 +20848,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20462,33 +20867,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20511,31 +20916,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1933,7 +1972,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1942,11 +1981,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1966,55 +2005,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Kommunikér med Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Kommunikér med Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Kommunikér med VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Kommunikér med GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Kommunikér med Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Kommunikér med Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Kommunikér med Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Kommunikér med EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Kommunikér med Adam tablet"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Kommunikér med Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Kommuniker med Moovybook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Kommunikerer nu med Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2139,7 +2178,7 @@ msgstr "Nook e-bogen"
msgid "Communicate with the Nook eBook reader."
msgstr "Kommunikér med Nook e-bogslæser."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2632,7 +2671,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Der er ikke tilstrækkelig plads på hukommelseskortet"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Genereret %s"
@@ -3017,11 +3056,11 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "CSS-fil anvendtes til output istedet for standardfilen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3029,7 +3068,7 @@ msgstr ""
"Skabelon anvendt til at generering af html index-fil istedet for "
"standardfilen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3037,7 +3076,7 @@ msgstr ""
"Skabelon anvendt til at generering af html indhold af bogen istedet for "
"standardfilen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3347,15 +3386,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4417,7 +4460,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Sæt Bog ID"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4443,27 +4486,27 @@ msgstr "Nej"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Titel"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Forfatter(e)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Udgiver"
@@ -4499,13 +4542,14 @@ msgstr "Kommentarer"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Mærker"
@@ -4514,9 +4558,10 @@ msgstr "Mærker"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4526,7 +4571,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4538,8 +4583,8 @@ msgstr "Tidsstempel"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Udgivet"
@@ -4666,60 +4711,60 @@ msgstr ""
"Hent et omslagsbillede/sociale metadata til denne bog identificeret ved ISBN "
"fra LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Omslag"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Hent metadata og omslag fra Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "US"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "Frankrig"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Tyskland"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "UK"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Italien"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Amazon website som skal anvendes:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr "Metadata fra Amazon vil blive hentet fra dette lands Amazon website."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "Amazon timede out. Prøv igen senere."
@@ -4727,13 +4772,31 @@ msgstr "Amazon timede out. Prøv igen senere."
msgid "Metadata source"
msgstr "Metadata kilde"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4743,6 +4806,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Hent metadata og omslag fra Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Stor"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Downloads metadata fra isbndb.com"
@@ -4806,12 +4910,12 @@ msgstr ""
"behandles."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4838,72 +4942,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Indholdsfortegnelse"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Titelside"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Indeks"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Ordliste"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Anerkendelser"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Litteraturliste"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Kolofon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Ophavsret"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Dedikation"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epigraf"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Forord"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Illustrationsliste"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Tabelliste"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Bemærkninger"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Forord"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Hovedtekst"
@@ -4912,14 +5016,14 @@ msgstr "Hovedtekst"
msgid "%s format books are not supported"
msgstr "Bøger af %s formatet er ikke understøttet"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4944,12 +5048,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Kan ikke slette bøger"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "Ingen enhed forbundet"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Arbejdshukommelse"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Hukommelsekort A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Hukommelsekort B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Ingen bøger at slette"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Ingen af de valgte bøger findes på enheden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Sletter bøger fra enheden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"De valgte bøger vil blive permanent slettet og filerne fjernes fra "
-"dit calibre-bibliotek. Er du sikker?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"De valgte bøger vil blive permanent slettet fra din enhed. Er du "
-"sikker på du vil gøre dette?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6293,12 +6413,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Stopper"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6382,8 +6502,8 @@ msgstr "Hentning af metadata fejlede"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Hentning mislykkedes"
@@ -6419,7 +6539,7 @@ msgid "Download complete"
msgstr "Filhentning gennemført"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Filhentning log"
@@ -6495,15 +6615,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6608,17 +6728,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Gør &punktuation smartere"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6925,7 +7067,7 @@ msgid "Click the show details button to see which ones."
msgstr "Klik vis-detalje knappen for at se hvilke."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Vis bogdetaljer"
@@ -7030,7 +7172,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Søg efter %s"
@@ -7042,30 +7184,30 @@ msgstr "Butikker"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Vælg butikker"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "Kan ikke søge"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7075,11 +7217,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Vis denne meddelelse igen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "Om boghentninger"
@@ -7348,7 +7490,7 @@ msgid "The specified directory could not be processed."
msgstr "Den angivne mappe kunne ikke behandles."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Ingen bøger"
@@ -7573,7 +7715,7 @@ msgid "Click to open"
msgstr "Klik for at åbne"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7583,7 +7725,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Samlinger"
@@ -7617,16 +7759,25 @@ msgstr "Sti"
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "BibTeX valg"
@@ -7694,7 +7845,7 @@ msgstr "output"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7880,7 +8031,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Navn"
@@ -8220,8 +8371,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normal"
@@ -9156,59 +9307,63 @@ msgstr "Ingen &billeder"
msgid "PDF Output"
msgstr "PDF-output"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Papirstørrelse:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Bevar omslagets &aspektforhold"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Se&rif-familien:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "&Sans-familien:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "&Monospace-familien:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "S&tandardskrifttype:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9220,13 +9375,29 @@ msgstr ""
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Monospace-&skriftstørrelse:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9468,6 +9639,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Konvertér"
@@ -10046,7 +10221,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Ingen egnede formater"
@@ -10092,66 +10267,66 @@ msgstr "Enhed: "
msgid " detected."
msgstr " detekteret."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "valgt til at sende"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Ingen enhed"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 af %i bøger"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Vælg format til at sende til enheden"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Kan ikke sende: Ingen enhed er forbundet"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Intet hukommelseskort"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Kan ikke sende: Enheden har intet hukommelseskort"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr "Auto konvertér følgende bøger før upload til enheden?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Sender kataloger til enheden."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Sender nyheder til enheden."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Sender bøger til enheden."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -10159,18 +10334,18 @@ msgstr ""
"Kunne ikke uploade følgende bøger til enheden, da ingen egnede formater blev "
"fundet. Konvertér bog/bøgerne til et format understøttet af din enhed først."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Ingen plads på enheden"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -13817,19 +13999,19 @@ msgstr ""
"
Ord separeret af mellemrum ANDes"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Søg!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Lav hurtigsøgning (du kan også trykke på retur-tasten)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Nulstil hurtigsøgning"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Kopiér aktuelle søgetekst (istedet for søgenavnet)"
@@ -13842,32 +14024,32 @@ msgstr "stjerner"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "På enhed"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Størrelse (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Ændret"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "Opslaget/søgenavn er \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "Denne bogs UUID er \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13876,30 +14058,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "I bibliotek"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Størrelse"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Markeret til sletning"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Dobbeltklik for at redigere mig
"
@@ -14006,7 +14188,7 @@ msgid "Previous Page"
msgstr "Forrige side"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14512,7 +14694,7 @@ msgid "Edit Metadata"
msgstr "Redigér metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14657,15 +14839,15 @@ msgstr "&Kommentarer"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr "Har omslag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14673,27 +14855,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Vent venligst"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Forespørgsel: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14701,38 +14883,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr "Aktuelt omslag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "Søger..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr "Henter metadata..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Henter omslag..."
@@ -14882,7 +15070,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14925,34 +15114,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Høj"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Lav"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Meget lav"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Standard"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Alle bekræftigelsesdialoger er blevet nulstillet"
@@ -15005,18 +15194,15 @@ msgid "Job &priority:"
msgstr "Opgave&prioritet:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Restriktion som anvendes, når det aktuelle bibliotek åbnes:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Anvend denne restriktion ved calibre opstart hvis det aktuelle bibliotek "
-"anvendes. Restriktionen anvendes også når der skiftes til dette bibliotek. "
-"Bemærk at denne indstilling er per bibliotek. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -15951,10 +16137,6 @@ msgstr "Fra"
msgid "Small"
msgstr "Lille"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Stor"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Medium"
@@ -15972,7 +16154,7 @@ msgid "Never"
msgstr "Aldrig"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16987,20 +17169,20 @@ msgstr ""
"ved at tilpasse enhedens grænseflade moduludvidelser i Indstillinger-"
">Avanceret->Moduludvidelser"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Fejlede med at starte indholdsserveren"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Fejl log:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Tilgangslog:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Du skal genstarte serveren, for at ændringerne træder i kraft"
@@ -17035,23 +17217,19 @@ msgid "Max. &OPDS items per query:"
msgstr "Maks. &OPDS poster per forespørgsel:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Maks. OPDS &ugrupperede poster:"
+msgid "Max. &ungrouped items:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Restriktion (gemt søgning) som skal anvendes:"
+msgid "Virtual library to apply:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Denne restriktion (baseret på en gemt søgning) vil begrænse "
-"indholdsserverens viste bøger til dem som opfylder søgningen. Denne "
-"indstilling er per bibliotek (f.eks. kan du have forskellige restriktioner "
-"per bibliotek)."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -17430,83 +17608,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr "Den valgte søgning vil blive permanent slettet. Er du sikker?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Søgning (For avanceret søgning klik knappen til venstre)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Gemte søgninger"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr "Vælg gemte søgninger eller indtast navn for ny gemt søgning"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Begræns til"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
@@ -18753,11 +19137,11 @@ msgstr ""
"enheden.
\n"
" Er du sikker på at du vil afslutte?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -19305,29 +19689,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20644,8 +21028,8 @@ msgstr ""
"for søgeforespørgslen, venligst se den søge relaterede dokumentation i "
"brugermanualen. Standard er ingen filtrering."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -20653,26 +21037,26 @@ msgstr ""
"Maksimale bredde af en enkelt linje i output. Standard er at detektere "
"skærmstørrelsen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "Strengen anvendt til at separere felter. Standard er et mellemrum."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
"Præfiks for alle filstier. Standard er en absolut sti til biblioteksmappen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Ugyldige felter. Tilgængelige felter:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Ugyldig sorteringsfelt. Tilgængelige felter:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -20680,13 +21064,13 @@ msgstr ""
"Følgende bøger blev ikke tilføjet da de allerede eksisterer i databasen (se -"
"-duplicates option):"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20700,7 +21084,7 @@ msgstr ""
"specificere mapper, se\n"
"mappe relaterede options nedenfor.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -20708,11 +21092,11 @@ msgstr ""
"Formod at hver mappe kun har én enkelt logisk bog og at alle filer i den er "
"forskellige e-bogsformater af denne bog"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Behandle mapper rekursivt"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -20720,43 +21104,43 @@ msgstr ""
"Tilføj bøger til databasen selvom de allerede eksisterer. Sammenligning er "
"baseret på bogtitlerne."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Tilføj en tom bog (en bog uden formater)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Du skal specificere mindst en fil at tilføje"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20767,33 +21151,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Du skal specificere mindst en bog der skal fjernes"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [options] id ebog_fil\n"
-"\n"
-"Tilføj e-bogen i ebog_fil til de tilgængelige formater for den logiske bog "
-"identificeret ved id. Du kan få id ved at anvende list-kommandoen. Hvis "
-"formatet allerede eksisterer, bliver det overskrevet.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Du skal specificere en id og en e-bog-fil"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "E-bog-filen skal have en filendelse"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20810,11 +21199,11 @@ msgstr ""
"eller TXT eller EPUB. Hvis den logiske bog ikke har fmt tilgængelig, gøres "
"intet.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Du skal specificere en id og et format"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20829,15 +21218,15 @@ msgstr ""
"Vis metadataene gemt i calibre-databasen for bogen identificeret ved id.\n"
"id er et id number fra list-kommandoen.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Udskriv metadata i OPF-form (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Du skal specificere en id"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20852,7 +21241,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20862,40 +21251,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20912,28 +21301,28 @@ msgstr ""
"Eksport operationen gemmer alle bogens formater, dets omslag og metadata (i\n"
"en opf-fil). Du kan få id numbers fra list-kommandoen.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr "Eksporter alle bøger i databasen, listen over id'er ignoreres."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Eksportér bøger til den angivne mappe. Standardmappen er"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Eksportér alle bøger til en enkel mappe"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Specificering af denne switch vil slå denne opførsel fra."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Du skal specificere nogle ids eller %s valget"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20950,7 +21339,7 @@ msgstr ""
"indeholde mellemrum eller koloner. name er det menneskevenlige kolonnenavn.\n"
"datatype er en af: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -20958,7 +21347,7 @@ msgstr ""
"Denne kolonne gemmer mærker ligesom data (f.eks. multiple kommaseparerede "
"værdier). Giver kun mening hvis datatypen er tekst."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20978,11 +21367,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Du skal specificere label, name og datatype"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -21000,7 +21389,7 @@ msgstr ""
" Options styrer hvordan indgange vises i det genererede katalog-ouput.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -21010,7 +21399,7 @@ msgstr ""
"Hvis erklæret, --search bliver ignoreret.\n"
"Standard: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -21020,16 +21409,16 @@ msgstr ""
"søgeforespørgsel, venligst se søgerelateret dokumentation i brugermanualen.\n"
"Standard: Ingen filtrering"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr "Vis detaljeret output-information. Anvendeligt ved fejlfinding"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Fejl: Du skal specificere en katalog output-fil"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -21051,7 +21440,7 @@ msgstr ""
" -kommandoen.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -21059,11 +21448,11 @@ msgstr ""
"Hvis kolonnen gemmer multiple værdier, tilføjes de specificerede værdier til "
"de eksisterende, istedet for at overskrive dem."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Fejl: Du skal specificere et feltnavn, id og value"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -21078,27 +21467,27 @@ msgstr ""
"ids.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Vis detaljer for hver kolonner."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "y"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -21115,15 +21504,15 @@ msgstr ""
" kolonner med custom_columns-kommandoen.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Spørger/spørg ikke efter bekræftelse"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Fejl: Du skal specificere en kolonne label"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -21146,40 +21535,40 @@ msgstr ""
" vil den blive overskrevet.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Fejl: Du skal angive en aktion (tilføj|fjern|liste)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Navn:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Søgestreng:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Fejl: Du skal angive et navn og en søgestreng"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "tilføjet"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Fejl: Du skal angive et navn"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "fjernet"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr "Fejl: Aktion %s ikke genkendt, skal være en af: (tilføj|fjern|liste)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -21193,13 +21582,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -21211,12 +21600,12 @@ msgstr ""
"Udføre nogle check på filsystemet som repræsenterer et bibliotek. Rapporter "
"er {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Output i CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -21224,7 +21613,7 @@ msgstr ""
"Komma-separeret liste af rapporter.\n"
"Standard: Alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -21232,7 +21621,7 @@ msgstr ""
"Komma-separeret liste af fil-extensions som ignoreres.\n"
"Standard: Alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -21240,11 +21629,11 @@ msgstr ""
"Komma-separeret liste af navne som ignoreres.\n"
"Standard: Alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Ukendt rapport check"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -21273,7 +21662,7 @@ msgstr ""
"efter hvad der er fundet i OPF-filerne.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -21281,12 +21670,12 @@ msgstr ""
"Skal opretningen virkelig udføres. Kommanden vil ikke køre, medmindre denne "
"mulighed bliver angivet."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -21298,7 +21687,7 @@ msgstr ""
"Laver en rapport af kategoriinformationen i databasen.\n"
"Informationen er ækvivalenten af hvad som vises i mærkeruden.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -21306,7 +21695,7 @@ msgstr ""
"Output kun antallet af emner i en kategori, istedet for antallet per emne "
"indenfor kategorien"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -21314,7 +21703,7 @@ msgstr ""
"Tegn til at sætte omkring kategoriværdien i CSV-tilstand. Standard er "
"gåseøjne (\")."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -21322,16 +21711,16 @@ msgstr ""
"Kommasepareret liste af kategori opslagsnavne.\n"
"Standard: alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"Streng anvendt til at separere felter i CSV-tilstand. Standard er et komma."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "KATEGORI EMNER"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -21364,31 +21753,22 @@ msgstr ""
"Mærket må kun indeholde småbogstaver, cifre og bundstreger - og skal begynde "
"med et bogstav"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "opret tilpasset søjle "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Anmerkungen: %(annotation)s
"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr "Der Kobo Touch ab Firmware V2.0.0 unterstützt Bücherregale"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr "Bestimmen Sie eine Tag-Typ-Spalte für automatische Verwaltung"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Bücherregale erstellen"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
@@ -1974,11 +2014,11 @@ msgstr ""
"Neue Bücherregale auf dem Kobo Touch erstellen, wenn dort noch keine "
"existieren. Das gilt nur für die Firmware V2.0.0 oder neuer."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Leere Bücherregale löschen"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
@@ -1986,11 +2026,11 @@ msgstr ""
"Alle leeren Bücherregale vom Kobo Touch löschen wenn die Synchronisation "
"abgeschlossen ist. Das gilt nur für die Firmware V2.0.0 oder neuer."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Coverbild hochladen"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
@@ -1998,11 +2038,11 @@ msgstr ""
"Coverbilder aus der Calibre Bibliothek hochladen, wenn das Buch an ein Gerät "
"gesendet wird"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr "Seitenverhältnis des Coverbildes beibehalten"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
@@ -2010,7 +2050,7 @@ msgstr ""
"Beim hochladen des Coverbildes auf das Gerät das Seitenverhältnis nicht "
"verändern. Nur für Firmware Version 2.3.1 und neuer."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
@@ -2021,11 +2061,11 @@ msgstr ""
"etwas zu kaufen. Aktivieren Sie diese Funktion, wenn Sie diese Empfehlungen "
"sehen/löschen möchten."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr "Serieninformationen festlegen"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -2038,7 +2078,7 @@ msgstr ""
"die Bücher vom Gerät verarbeitet worden sind. Aktivieren Sie diese Funktion, "
"wenn Sie möchten, dass Serieninformationen gesetzt werden."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -2053,11 +2093,11 @@ msgstr ""
"setzen und Software zu testen. Dieser Treiber unterstützt die Firmware "
"V2.x.x und DBVersion bis zu "
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr "Titel für Fehlerbehebung"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -2080,55 +2120,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Kommunikation mit Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Kommunikation mit dem Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Kommuniziere mit dem VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Kommunikation mit dem GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Kommunikation mit dem Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Kommunikation mit dem Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Kommunikation mit dem Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Kommunikation mit dem EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Kommuniziere mit dem Adam Tablet"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Kommunikation mit dem Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Kommunikation mit dem Moovybook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Kommunikation mit dem COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Kommuniziere mit dem Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr "Mit den Lesegeräten von WayteQ und SPC Dickens verbinden"
@@ -2256,7 +2296,7 @@ msgstr "Der Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Kommunikation mit dem Nook eBook-Reader."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Verbinde mit dem Nook Color, TSR und Tablett eBook Lesern."
@@ -2828,7 +2868,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Gerendert %s"
@@ -3252,11 +3292,11 @@ msgstr ""
"was Sie tun, da es zu verschiedenen Nebeneffekten in der restlichen "
"Konvertierung kommen kann."
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "Zur Ausgabe statt der Standarddatei verwendete CSS- Datei"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3264,7 +3304,7 @@ msgstr ""
"Für die Erstellung der HTML- Indexdatei anstelle der Standarddatei benutzte "
"Vorlage"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3272,7 +3312,7 @@ msgstr ""
"FÜr die Erstellung der HTML- Dateien des Buchinhalts anstelle der "
"Standarddatei benutzte Vorlage"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3637,20 +3677,23 @@ msgstr ""
"ergänzt. Ein von Ihnen festgelegtes Template hat vor dieser Option Vorrang."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
msgstr ""
-"Die Fußzeilen auf jeder Seite werden durch ein HTML-Template generiert. Die "
-"Zeichenkette _PAGENUM_ wird durch die aktuelle Seitennummer ersetzt."
+"Ein HTML Template, das verwendet wird um %s auf jeder Seite zu generieren. "
+"Die Strings _PAGENUM_, _TITLE_, _AUTHOR_ und _SECTION_ (Seitenzahl, Titel, "
+"Autor, Abschnitt) werden durch ihre aktuellen Werte ersetzt."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
+msgstr "Fußzeilen"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
-msgstr ""
-"Die Kopfzeile auf jeder Seite werden durch ein HTML-Template generiert. Die "
-"Zeichenkette _PAGENUM_ wird durch die aktuelle Seitennummer ersetzt."
+msgid "headers"
+msgstr "Kopfzeilen"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
msgid ""
@@ -4909,7 +4952,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Geben Sie die Buch-ID an"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4935,27 +4978,27 @@ msgstr "Nein"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Titel"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(en)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Verlag"
@@ -4991,13 +5034,14 @@ msgstr "Bemerkungen"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Schlagworte"
@@ -5006,9 +5050,10 @@ msgstr "Schlagworte"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -5018,7 +5063,7 @@ msgstr[0] "Buchreihen"
msgstr[1] "Buchreihen"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -5030,8 +5075,8 @@ msgstr "Zeitstempel"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Veröffentlicht"
@@ -5172,60 +5217,60 @@ msgstr ""
"Coverbild/soziale Metadaten für das durch ISBN identifizierte Buch von "
"LibraryThing.com laden.\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Coverbild"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Lädt Metadaten und Coverbild von Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "US"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "Frankreich"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Deutschland"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "UK"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Italien"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japan"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "Spanien"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr "Brasilien"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Folgende Amazon-Webseite benutzen:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr "Metadaten werden von der dem Land zugehörigen Amazon Website geholt."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
"Zeitüberschreitung beim Abruf von Metadaten bei Amazon. Versuche es später "
@@ -5235,6 +5280,28 @@ msgstr ""
msgid "Metadata source"
msgstr "Metadaten-Quelle"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+"Mehrere Coverbilder von Amazon herunterladen. Nützlich zum Finden "
+"alternativer Cover."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr "Big Book Suche -Plugin einrichten"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr "Maximale Anzahl der zu findenden Coverbilder"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+"Die maximale Anzahl an Titelseiten, die aus den Suchergebnissen verarbeitet "
+"werden sollen"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -5243,7 +5310,7 @@ msgstr ""
"Metadaten und Coverbilder von Douban.com herunterladen. Nur für "
"chinesischsprachige Bücher sinnvoll."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -5255,6 +5322,51 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Lädt Metadaten und Coverbilder von Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+"Coverbilder aus einer Google-Bilder Suche herunterladen. Nützlich, um ein "
+"größeres/alternatives Cover zu finden."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr "Einrichten des Google-Bilder Suche Plugins"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+"Maximale Anzahl der zu verarbeitenden Coverbilder aus den Google-"
+"Suchergebnissen"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr "Coverbild-Größe"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr "Suche nach Coverbildern, die größer als die angegebene Größe sind"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr "Jede Größe"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Groß"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr "Größer als %s"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Lädt Metadaten von isbndb.com"
@@ -5328,12 +5440,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "Dies ist ein Amazon Topaz-Buch. Es kann nicht verarbeitet werden."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr "Das ist keine MOBI Datei. Es ist eine Topaz Datei."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr "Das ist keine MOBI Datei."
@@ -5366,72 +5478,72 @@ msgid "No details available"
msgstr "Keine Details verfügbar"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Inhaltsverzeichnis"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Titelseite"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Index"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glossar"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Danksagungen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Literaturverzeichnis"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Schlussschrift"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Copyright"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Widmung"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epigraph"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Vorwort"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Abbildungsverzeichnis"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Tabellenverzeichnis"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Anmerkungen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Vorwort"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Haupttext"
@@ -5440,7 +5552,7 @@ msgstr "Haupttext"
msgid "%s format books are not supported"
msgstr "Bücher im %s Format werden nicht unterstützt"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
@@ -5450,7 +5562,7 @@ msgstr ""
"von Amazon. Calibre kann nur MOBI-Dateien bearbeiten, welche KF8-Bücher "
"enthalten. Ältere MOBI-Dateien ohne KF8 sind nicht bearbeitet werden."
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5478,28 +5590,26 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
@@ -6804,44 +6930,44 @@ msgstr ""
"Alle Formate des ausgewählten Buches werden aus Ihrer Bibliothek "
"gelöscht
Die Metadaten werden aufgehoben. Sind Sie sich sicher?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Bücher können nicht gelöscht werden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "Kein Gerät ist angeschlossen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Hauptspeicher"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Speicherkarte A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Speicherkarte B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Kein Buch zum Löschen vorhanden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Keines der ausgewählten Bücher ist auf dem Gerät"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Bücher werden vom Gerät gelöscht."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6849,20 +6975,22 @@ msgstr ""
"Einige der ausgewählten Bücher sind auf dem angeschlossenen Gerät vorhanden. "
"Wo wollen Sie die Dateien löschen?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"Die ausgewählten Bücher werden dauerhaft gelöscht und die Dateien aus "
-"der Calibre-Bibliothek entfernt. Sind Sie sicher?"
+"Die %d gewählten Bücher werden dauerhaft gelöscht und die Dateien "
+"werden von Ihrer Calibre-Bibliothek entfernt. Sind Sie sicher?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Die gewählten Bücher werden von Ihrem Gerät dauerhaft gelöscht. Sind "
+"Die %d gewählten Bücher werden von dem Gerät dauerhaft gelöscht. Sind "
"Sie sicher?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -6940,12 +7068,12 @@ msgstr ""
"mit besonderen Geräten, usw."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Stoppe"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
"Server wird angehalten, dies kann bis zu einer Minute dauern, bitte warten "
@@ -7033,8 +7161,8 @@ msgstr "Download der Metadaten fehlgeschlagen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Herunterladen gescheitert"
@@ -7079,7 +7207,7 @@ msgid "Download complete"
msgstr "Herunterladen abgeschlossen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Protokoll des Herunterladens"
@@ -7177,15 +7305,15 @@ msgstr ""
"gelöscht.
Sind Sie sich sicher, dass Sie fortfahren "
"möchten?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Geänderte Metadaten übernehmen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Einige Fehler"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -7294,17 +7422,28 @@ msgstr "Perfektioniere %d Bücher"
msgid "About Polishing books
%s"
msgstr "Über \"Bücher perfektionieren\"
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr "Schriften tiefstellen
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr "Intelligente Zeichensetzung
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr "Buchumschlag
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr "Buchumschlag entfernen
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr "Wählen Sie die Aktionen aus, die durchgeführt werden sollen:"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr "Alle eingebetteten Schriftarten unter&setzen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "&Intelligente Zeichensetzung"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr "&Metadaten in die Buch-Datei updaten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr "&Coverbild in den Buch-Dateien updaten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr "Metadaten als Seite des Buchumschlages hinzufügen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr "Einen zuvor eingefügten Buchumschlag &entfernen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr "Über"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr "Be&richt anzeigen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
"Einen Bericht aller durchgeführter Aktionen anzeigen, nachdem Perfektioniert "
"wurde."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr "Einstellungen &speichern"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr "Einstellungen &Laden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr "&Alles auswählen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr "&Nichts auswählen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr "Keine Aktionen gewählt"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr "Sie müssen mindestens eine Aktion auswählen, bevor Sie speichern"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr "Namen auswählen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr "Wählen Sie einen Namen für diese Einstellungen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr "Gespeicherte Einstellungen entfernen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr "Metadaten müssen aktualisiert werden"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr "Sie müssen mindestens eine Aktion auswählen oder Abbrechen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr "Bücher zum Perfektionieren sammeln"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr "Perfektioniere %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr "Buch %(nums)s von %(tot)s (%(title)s) perfektioniert"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr "Es werden %(nums)s von %(tot)s (%(title)s) Büchern gesammelt"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr "Ignoriere %d verbleibende Berichte"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr "Kompletten &Log anzeigen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr "Perfektionieren von %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] "Die originale Datei wurde als %s gespeichert."
msgstr[1] "Die originalen Dateien wurden als %s gespeichert."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr " und "
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
"Wenn Sie erneut perfektionieren, wird der Vorgang auf das Original angewandt."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr "Bücher perfektionieren"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr "Lassen Sie Ihre Bücher vor Perfektion glänzen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr "P"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr "Perfektionieren kann nicht durchgeführt werden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
@@ -7506,7 +7656,7 @@ msgstr ""
"Konvertieren Sie zu einem dieser Formate, bevor Sie dieses Buch "
"perfektionieren."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr "Buch perfektionieren für %d starten"
@@ -7630,7 +7780,7 @@ msgstr ""
"gibt."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Zeige Buchdetails"
@@ -7738,7 +7888,7 @@ msgid "this book"
msgstr "dieses Buch"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Nach %s suchen"
@@ -7750,17 +7900,17 @@ msgstr "Händler"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Händler auswählen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "Suche nicht möglich"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
@@ -7768,7 +7918,7 @@ msgstr ""
"Calibre hilft Ihnen bestimmte eBooks zu finden, indem es die Websites vieler "
"kommerzieller und gemeinfreier Buchquellen für Sie durchsucht."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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 "
@@ -7778,7 +7928,7 @@ msgstr ""
"Händler das Buch nach dem Sie suchen am günstigsten anbietet. Außerdem "
"können Sie sich den DRM-Status und andere nützliche Informationen ansehen."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7795,11 +7945,11 @@ msgstr ""
"das entsprechende Buch DRM-geschützt ist."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Diese Nachricht nochmal anzeigen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "Über Bücher erwerben"
@@ -8101,7 +8251,7 @@ msgid "The specified directory could not be processed."
msgstr "Das angegebene Verzeichnis konnte nicht bearbeitet werden."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Keine Bücher"
@@ -8331,7 +8481,7 @@ msgid "Click to open"
msgstr "Zum Öffnen klicken"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "IDs"
@@ -8341,7 +8491,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr "Buch %(sidx)s von %(series)s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Sammlungen"
@@ -8375,16 +8525,25 @@ msgstr "Pfad"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Coverbild-Größe: %(width)d x %(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr "Link kopieren"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr "Entferne das %s Format"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr "Das Format %s speichern"
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr "Das %s Format wiederherstellen"
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "BibTeX Einstellungen"
@@ -8452,7 +8611,7 @@ msgstr "Ausgabe"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8651,7 +8810,7 @@ msgstr "Ja"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Name"
@@ -9009,8 +9168,8 @@ msgid "Style the selected text block"
msgstr "Stil des ausgewählten Textblocks wählen"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normal"
@@ -10000,7 +10159,7 @@ msgstr "Keine B&ilder"
msgid "PDF Output"
msgstr "PDF-Ausgabe"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
@@ -10010,52 +10169,56 @@ msgstr ""
"verwendet, wenn Sie das \"Überschreiben\" Kontrollkästchen aktivieren. "
"Andersfalls wird die Papiergröße vom Ausgabeprofil verwendet."
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr "Papiergröße des Ausgabepr&ofils überschreiben"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Papiergröße:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr "&Custom size:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr "Einheit:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Seitenverhältnis des Coverbildes beibeh&alten"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr "Seite&nzahlen am Ende jeder Seite hinzufügen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Se&rife Schriftartfamilie:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "&Serifenlose Schriftartfamilie:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "Nichtproportionale (&monospace) Schriftartfamilie:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "S&tandardschrift:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr "Benut&zerdefinierte Schriftgröße"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -10067,14 +10230,34 @@ msgstr "Benut&zerdefinierte Schriftgröße"
msgid " px"
msgstr " Pixel"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Nichtproportionale Schri&ftgröße:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
-msgstr "Seite&nzahlen am Ende jeder Seite hinzufügen"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr "Seiten Kopf- und Fußzeilen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+"Sie können Kopf-und Fußzeilen auf jeder Seite der erzeugten PDF-Datei "
+"einfügen, indem Sie das Kopf-und Fußzeilen Template verwenden. Für Beispiele "
+"lesen Sie bitte das Benutzerhandbuch."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr "Kopfzeilen-Template:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
+msgstr "&Fußzeilen-Template:"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
msgid "PMLZ Output"
@@ -10338,6 +10521,10 @@ msgstr ""
"Dokument getestet werden. Wenn das Ergebnis zufriedenstellend ist, klicke "
"den Hinzufügen Button um ihn zu der Liste der Ausdrücke hinzuzufügen."
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr "Standar&d wiederherstellen"
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Konvertieren"
@@ -10503,6 +10690,9 @@ msgid ""
"Help with using these options to generate a Table of Contents"
msgstr ""
+"Hilfe beim Verwenden dieser Optionen zum Erstellen eines "
+"Inhaltsverzeichnisses (en)"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:93
msgid ""
@@ -10511,10 +10701,15 @@ msgid ""
"errors\n"
" caused by automatic generation."
msgstr ""
+"Diese Option öffnet ein Popup mit dem Inhaltsverzeichnis-Editor.\n"
+" Damit können Sie manuell das Inhaltsverzeichnis bearbeiten und Fehler,\n"
+" die beim automatischen Generieren entstanden sind, beseitigen."
#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:96
msgid "&Manually fine-tune the ToC after conversion is completed"
msgstr ""
+"&Manuelle Feineinstellung, nachdem die Inhaltsverzeichnis-Erstellung "
+"abgeschlossen ist"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12
msgid "TXT Input"
@@ -10936,7 +11131,7 @@ msgstr ""
"%s wurde erkannt. Möchten Sie das Gerät mit Calibre verwalten?"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Keine geeigneten Formate"
@@ -10984,67 +11179,67 @@ msgstr "Gerät: "
msgid " detected."
msgstr " gefunden."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "zum Übertragen ausgewählt"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Kein Gerät"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr "Kein Gerät angeschlossen"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr "%(num)i von %(total)i Büchern"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 von %i Büchern"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Format wählen, das ans Gerät geschickt wird"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Übertragung schlug fehl: Kein Gerät verbunden"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Keine Speicherkarte"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Übertragung schlug fehl: Keine Speicherkarte im Gerät"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"Die folgenden Bücher vor dem Laden auf das Gerät automatisch konvertieren?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Sende Kataloge ans Gerät."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Sende Nachrichten an das Gerät."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Sende Bücher an das Gerät."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -11053,18 +11248,18 @@ msgstr ""
"fehlen. Konvertieren Sie die Bücher zuerst in ein von Ihrem Gerät "
"unterstütztes Format."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Gerätespeicher voll"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -15068,19 +15277,19 @@ msgstr ""
"Kommentaren, etc.
Durch Leerzeichen getrennte Wörter werden mit UND "
"verknüpft"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Los!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Schnellsuche durchführen (Sie können auch die Eingabetaste drücken)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Schnellsuche löschen"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Aktuellen Suchtext kopieren (anstelle des Namens der Suche)"
@@ -15093,32 +15302,32 @@ msgstr "Sterne"
msgid "Y"
msgstr "J"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "Auf dem Gerät"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Größe (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Geändert"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "Der Such-Name ist \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "Die UUID dieses Buches ist \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -15129,32 +15338,32 @@ msgstr ""
"Der Speicherort dieses Buches kann nicht verändert werden. Möglicherweise "
"ist es noch in einem anderen Programm geöffnet."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr "Ändern der Daten fehlgeschlagen"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
"Daten konnten nicht festgelegt werden. Klicken Sie auf Details, um den Grund "
"zu erfahren."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "In der Bibliothek"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Größe"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Zum Löschen ausgewählt"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Doppelklick ermöglicht Bearbeitung
"
@@ -15261,7 +15470,7 @@ msgid "Previous Page"
msgstr "Vorherige Seite"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -15805,7 +16014,7 @@ msgid "Edit Metadata"
msgstr "Metadaten bearbeiten"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -15962,15 +16171,15 @@ msgstr "&Bemerkungen"
msgid "Basic metadata"
msgstr "Basis Metadaten"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr "Enthält Coverbild"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr "Enthält Zusammenfassung"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -15983,29 +16192,29 @@ msgstr ""
"Herunterladen Coverbilder erhalten, und\n"
"umgekehrt."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr "Siehe auf"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr "Calibre lädt Metadaten herunter von: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Bitte warten"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Abfrage: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Herunterladen der Metadaten fehlgeschlagen. Klicken Sie für weitere "
"Informationen auf \"Details anzeigen\""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -16017,42 +16226,48 @@ msgstr ""
"den Nachnamen des Autors und ein einzelnes, prägnantes Wort aus dem "
"Titel.Virtual Libraries
\n"
+"\n"
+" , "
"
,
."
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr "ToC aus &allen Überschriften erzeugen"
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
@@ -20217,34 +20575,49 @@ msgstr ""
"funktioniert nur, wenn das Buch die Überschriften anhand von HTML-"
"Überschriften-Markierungen kennzeichnet. Verwendet die Markierungen
\n"
" Quitting may cause corruption on the device.
\n"
@@ -20623,11 +21044,11 @@ msgstr ""
"verursachen.
\n"
" Sind Sie sicher, dass Sie beenden möchten?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Aktive Aufträge"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -21203,29 +21624,29 @@ msgstr "Standard Schriftgröße"
msgid "S&earch Google for '%s'"
msgstr "Google Such&e nach '%s'"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr "Vergrößern"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr "Verkleinern"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr "Speichern als"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr "D&rehen"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr "Wählen Sie eine Datei zum Speichern aus"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr "Zeige Bild: %s"
@@ -22713,8 +23134,8 @@ msgstr ""
"sehen Sie sich bitte die Dokumentation, die die Suche betrifft, im "
"Benutzerhandbuch an. Voreinstellung ist, keine Filterung durchzuführen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -22722,13 +23143,13 @@ msgstr ""
"Maximale Breite einer einzelnen Zeile in der Ausgabe. In der Voreinstellung "
"wird die Bildschirmgröße erkannt."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
"Zeichenfolge zur Unterscheidung der Felder. Die Voreinstellung ist ein "
"Leerzeichen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -22736,15 +23157,15 @@ msgstr ""
"Der Vorsatzcode zu allen Dateipfaden. Die Voreinstellung ist der absolute "
"Pfad zum Bibliotheksverzeichnis."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Ungültige Felder. Verfügbare Felder:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Ungültiges Sortierungs-Feld. Verfügbare Felder:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -22752,13 +23173,13 @@ msgstr ""
"Die folgenden Bücher wurden nicht hinzugefügt, da sie schon in der Datenbank "
"vorhanden sind (siehe --duplicates Option):"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr "Hinzugefügte Buch-IDs: %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -22772,7 +23193,7 @@ msgstr ""
"Verzeichnisse angeben, vergleichen\n"
"Sie dazu die auf Verzeichnisse bezogenen Optionen unten.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -22781,11 +23202,11 @@ msgstr ""
"und alle Dateien in diesem Verzeichnis sind verschiedene eBook-Formate "
"dieses einzelnen Buches"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Verzeichnisse rekursiv verarbeiten"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -22793,44 +23214,44 @@ msgstr ""
"Bücher zur Datenbank hinzufügen, auch wenn diese schon vorhanden sind. Der "
"Abgleich erfolgt aufgrund des Titels der Bücher."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Ein leeres Buch hinzufügen (ein Buch ohne Formate)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr "Titel der hinzugefügten Bücher festlegen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr "Autor der hinzugefügten Bücher festlegen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr "ISBN der hinzugefügten Bücher festlegen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr "Tags der hinzugefügten Bücher festlegen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr "Serien der der hinzugefügten Bücher festlegen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr "Serien Nummer der hinzugefügten Bücher festlegen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr "Pfad zum Coverbild des hinzugefügten Buches"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
"Sie müssen wenigstens eine Datei auswählen, die hinzugefügt werden soll"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -22848,33 +23269,38 @@ msgstr ""
"(bei Angabe eines Bereichs, ist die letzte Zahl im Bereich nicht "
"enthalten).\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Sie müssen wenigstens ein Buch auswählen, das entfernt werden soll"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [options] ID ebook_datei\n"
-"\n"
-"Fügt das eBook der ebook_datei zu den verfügbaren Formaten des durch die ID "
-"gekennzeichneten logischen Buches hinzu. Sie erhalten die ID durch den list "
-"Befehl. Falls das Format schon vorhanden ist, wird es ersetzt.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Sie müssen eine ID und eine eBook-Datei angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "eBook Datei muss eine Endung haben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -22891,11 +23317,11 @@ msgstr ""
"eine Dateiendung wie LRF oder TXT oder EPUB sein. Falls das logische Buch im "
"entsprechenden Format nicht vorliegt, passiert gar nichts.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Sie müssen eine ID und ein Format (Dateiendung) angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -22911,15 +23337,15 @@ msgstr ""
"ID angegebene Buch.\n"
"ID ist eine ID Nummer des Befehls list.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Metadaten als OPF (XML) drucken"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Sie müssen eine ID angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -22946,7 +23372,7 @@ msgstr ""
"Felder auch \n"
"mit der --field option (Feldoption) festlegen.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -22963,42 +23389,42 @@ msgstr ""
"die Syntax {0} {2}. Für boolesche Felder (ja/nein) verwenden Sie true und "
"false oder yes und no."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
"Listet die Metadaten-Feldnamen auf, die mit der --field option (Feldoption ) "
"verwendet werden können"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr "Feldname"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr "Eine Verzeichnis ID muss als erstes Argument angegeben werden"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr "Es muss entweder ein Feld oder eine opf Datei angegeben werden"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
-msgstr ""
+msgstr "Kein Buch mit der ID: %s in der Datenbank"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr "Die OPF Datei %s existiert nicht"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr "%s ist kein bekanntes Feld"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -23016,29 +23442,29 @@ msgstr ""
"Metadaten (in einer opf-Datei). \n"
"Die ID-Nummern erhalten Sie mit dem Befehl list.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Exportiere alle Bücher der Datenbank, die Liste der IDs wird ignoriert."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Exportiere Bücher in das angegebene Verzeichnis. Voreinstellung ist"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Exportiere alle Bücher in ein einziges Verzeichnis"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Die Betätigung dieses Schalters stellt das Verhalten aus."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Sie müssen IDs oder die Option %s angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -23056,7 +23482,7 @@ msgstr ""
"benutzerfreundliche Name der Spalte.\n"
"Datentyp ist einer von : {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -23064,7 +23490,7 @@ msgstr ""
"Diese Spalte speichert Daten ähnlich wie bei Schlagwörtern (z.B. mehrere "
"durch Kommata getrennte Werte). Gilt nur, wenn der Datentyp Text ist."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -23084,11 +23510,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Sie müssen Beschriftung, Name und Datentyp angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -23106,7 +23532,7 @@ msgstr ""
"werden.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -23117,7 +23543,7 @@ msgstr ""
"Wenn angegeben, wird --search ignoriert.\n"
"Voreinstellung: Alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -23127,17 +23553,17 @@ msgstr ""
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
"Detaillierte Ausgabeinformation anzeigen. Hilfreich zur Fehlerdiagnose."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Fehler: Sie müssen eine Katalog-Ausgabedatei angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -23159,7 +23585,7 @@ msgstr ""
" Befehls.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -23167,11 +23593,11 @@ msgstr ""
"Wenn die Spalte mehrere Werte speichert, sollen die angegebenen Werte zu den "
"bestehenden hinzugefügt werden, anstatt sie zu ersetzen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Fehler: Sie müssen einen Feldnamen, eine ID und einen Wert angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -23186,27 +23612,30 @@ msgstr ""
"Spaltenbeschriftung und IDs.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Details jeder Spalte anzeigen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "j"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
+"Keine Spalte mit dem Namen %s gefunden. Sie müssen die Spalten-Etiketten, "
+"nicht die Titel verwenden. Nutzen Sie calibredb custom_columns, um eine "
+"Liste der Etiketten zu bekommen."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -23223,15 +23652,15 @@ msgstr ""
" Spalten mit dem custom_columns Befehl anzeigen lassen.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Nicht nach einer Bestätigung fragen"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Fehler: Sie müssen eine Spaltenbeschriftung angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -23253,40 +23682,40 @@ msgstr ""
" Suche mit gleichem Namen hinzugefügt wird.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Fehler: Sie müssen eine Aktion angeben (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Name:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Suchausdruck:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Fehler: Sie müssen einen Namen und einen Suchausdruck angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "hinzugefügt"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Fehler: Sie müssen einen Namen angeben"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "entfernt"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr "Fehler: Aktion %s nicht erkannt, muss sein aus: (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -23308,7 +23737,7 @@ msgstr ""
"Dies ist im Normalfall nicht nötig, da eine Sicherung als OPF Datei jedesmal "
"erstellt wird, sobald sich die Metadaten ändern.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
@@ -23316,7 +23745,7 @@ msgstr ""
"Normalerweise beachtet dieser Befehl nur Bücher, deren OPF Dateien nicht "
"mehr aktuell sind. Diese Option führt den Befehl für alle Bücher aus."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -23328,12 +23757,12 @@ msgstr ""
"Führt einige Überprüfungen auf dem Dateisystem einer Bibliothek durch. "
"Reports sind {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Ausgabe als CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -23341,7 +23770,7 @@ msgstr ""
"Komma-separierte Liste mit Reporten.\n"
"Standard: alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -23349,7 +23778,7 @@ msgstr ""
"Komma-separierte Liste der zu ignorierenden Erweiterungen.\n"
"Standard: alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -23357,11 +23786,11 @@ msgstr ""
"Komma-separierte Liste der zu ignorierenden Namen.\n"
"Standard: alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Unbekannte Berichtüberprüfung"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -23390,7 +23819,7 @@ msgstr ""
"genau wie die in den OPF- Dateien gespeicherten Daten.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -23398,14 +23827,14 @@ msgstr ""
"Führt die Wiederherstellung tatsächlich durch. Der Befehl wird nicht "
"ausgeführt, wenn diese Option nicht vorhanden ist."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
"Sie müssen folgende Option angeben, um eine Wiederherstellung durchzuführen: "
"%s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -23418,7 +23847,7 @@ msgstr ""
"Die Information entspricht dem, was im Schlagwort-Browser angezeigt\n"
"wird.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -23426,7 +23855,7 @@ msgstr ""
"Nur Anzahl der Einträge in einer Kategorie ausgeben anstelle der Anzahl pro "
"Eintrag in der Kategorie"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -23434,7 +23863,7 @@ msgstr ""
"Zeichen, mit dem Kategorie- Werte im CSV- Modus umschlossen werden. Standard "
"sind Anführungszeichen (\")."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -23442,17 +23871,17 @@ msgstr ""
"Komma-separierte Liste von Kategorie-Suchnamen.\n"
"Standard: alle"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"Zeichenfolge zur Aufteilung von Feldern im CSV- Modus. Standard ist ein "
"Komma."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "KATEGORIE EINTRÄGE"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -23485,31 +23914,22 @@ msgstr ""
"Der Suchname darf ausschließlich Kleinbuchstaben, Zahlen und Unterstriche "
"enthalten und muss mit einem Buchstaben anfangen."
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr "wiederhergestellte Einstellung "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "Erstelle benutzerdefinierte Spalte "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr " (%s Bücher)"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Τελευταία αναγνωσμένη σελίδα: %(
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:191
#, python-format
msgid "%(time)s
Last Page Read: Location %(loc)d (%(pr)d%%)"
-msgstr ""
+msgstr "%(time)s
Τελευταία Σελίδα Ανάγνωσης: Θέση %(loc)d (%(pr)d%%)"
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:210
#, python-format
@@ -1663,10 +1720,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:289
msgid "Communicate with the Kindle 2/3/4/Touch/PaperWhite eBook reader."
msgstr ""
+"Επικοινωνία με τον αναγνώστη ηλεκτρονικών βιβλίων Kindle "
+"2/3/4/Touch/PaperWhite."
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:301
msgid "Send page number information when sending books"
-msgstr ""
+msgstr "Αποστολή πληροφορίας αριθμού σελίδας με την αποστολή βιβλίων"
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:303
msgid ""
@@ -1679,6 +1738,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:308
msgid "Use slower but more accurate page number calculation"
msgstr ""
+"Χρήση πιό αργού αλλά περισσότερο ακριβούς υπολογισμού αριθμού σελίδων"
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:310
msgid ""
@@ -1706,7 +1766,7 @@ msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Kindle DX
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:467
msgid "Communicate with the Kindle Fire"
-msgstr ""
+msgstr "Επικοινωνία με το Kindle Fire"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:36
msgid "Communicate with the Kobo Reader"
@@ -1714,15 +1774,15 @@ msgstr "Επικοινωνία με το Kobo Reader"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:68
msgid "The Kobo supports several collections including "
-msgstr ""
+msgstr "Το Kobo υποστηρίζει αρκετές συλλογές μεταξύ των οποίων "
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:70
msgid "Create tags for automatic management"
-msgstr ""
+msgstr "Δημιουργία διακριτικών για αυτόματη διαχείρηση"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:71
msgid "Upload covers for books (newer readers)"
-msgstr ""
+msgstr "Ανέβασμα εξώφυλλων βιβλίων (νεώτεροι αναγνώστες)"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:72
msgid ""
@@ -1732,17 +1792,17 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233
msgid "Upload Black and White Covers"
-msgstr ""
+msgstr "Ανέβασμα Ασπρόμαυρων Εξώφυλλων"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
msgid "Show expired books"
-msgstr ""
+msgstr "Εμφάνιση ληγμένων βιβλίων"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238
msgid ""
"A bug in an earlier version left non kepubs book records in the database. "
"With this option Calibre will show the expired records and allow you to "
@@ -1750,12 +1810,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242
msgid "Show Previews"
-msgstr ""
+msgstr "Εμφάνιση Προεπισκοπήσεων"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243
msgid ""
"Kobo previews are included on the Touch and some other versions by default "
"they are no longer displayed as there is no good reason to see them. Enable "
@@ -1763,9 +1823,9 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246
msgid "Show Recommendations"
-msgstr ""
+msgstr "Εμφάνιση Συστηνόμενων"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:87
msgid ""
@@ -1775,9 +1835,9 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255
msgid "Attempt to support newer firmware"
-msgstr ""
+msgstr "Προσπάθεια υποστήριξης νεότερου firmware"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
msgid ""
@@ -1788,10 +1848,13 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587
msgid "Kobo database version unsupported - See details"
msgstr ""
+"Δεν υποστηρίζεται η έκδοση της βάσης δεδομένων Kobo - Δες λεπτομέρειες"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588
msgid ""
"Your Kobo is running an updated firmware/database version. As calibre does "
"not know about this updated firmware, database editing is disabled, to "
@@ -1848,66 +1911,70 @@ msgid ""
"%(text)s
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
-msgstr ""
+msgstr "Το Kobo Touch από το firmware V2.0.0 υποστηρίζει ράφια βιβλίων."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
-msgstr ""
+msgstr "Προσδιορισμός στήλης τύπου διακριτικών για αυτόματη διαχείρηση"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
-msgstr ""
+msgstr "Δημιουργία Ραφιών βιβλίων"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
-msgstr ""
+msgstr "Διαγραφή Κενών Ραφιών βιβλίων"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
+"Διαγραφή των όποιων κενών ραφιών βιβλίων από το Kobo Touch κατά την "
+"ολοκλήρωση του συγχρονισμού. Αυτό μόνο για firmware V2.0.0 ή νεότερο."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
-msgstr ""
+msgstr "Ανέβασμα εξώφυλλων για βιβλία"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
+"Ανέβασμα εικόνων εξωφύλλων από την βιβλιοθήκη calibre κατά την αποστολή "
+"βιβλίων στην συσκευή."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
-msgstr ""
+msgstr "Διατήρηση λόγου ακμών εξωφύλλου"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
-msgstr ""
+msgstr "Τοποθέτηση πληροφοριών Σειράς"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1915,7 +1982,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1924,11 +1991,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
-msgstr ""
+msgstr "Τίτλος πρός δοκιμή κατά την αποσφαλμάτωση"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1941,72 +2008,72 @@ msgstr "Επικοινωνία με το Palm Pre"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:39
msgid "Communicate with the Bq Avant"
-msgstr ""
+msgstr "Επικοινωνία με το Bq Avant"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:60
msgid "Communicate with the Sweex/Kogan/Q600/Wink"
-msgstr ""
+msgstr "Επικοινωνία με Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Επικοινωνία με το Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
-msgstr ""
+msgstr "Επικοινωνία με το VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
-msgstr ""
+msgstr "Επικοινωνία με το GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
-msgstr ""
+msgstr "Επικοινωνία με το Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
-msgstr ""
+msgstr "Επικοινωνία με το Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
-msgstr ""
+msgstr "Επικοινωνία με το Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
-msgstr ""
+msgstr "Επικοινωνία με το EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
-msgstr ""
+msgstr "Επικοινωνία με το Adam tablet"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
-msgstr ""
+msgstr "Επικοινωνία με το Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
-msgstr ""
+msgstr "Επικοινωνία με το Moovybook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
-msgstr ""
+msgstr "Επικοινωνία με το COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
-msgstr ""
+msgstr "Επικοινωνία με το Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
-msgstr ""
+msgstr "Επικοινωνία με τα WayteQ και SPC Dickens Readers"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:29
msgid "MTP Device"
-msgstr ""
+msgstr "Συσκευή MTP"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/base.py:31
msgid "Communicate with MTP devices"
-msgstr ""
+msgstr "Επικοινωνία με συσκευές MTP"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:167
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:960
@@ -2016,83 +2083,83 @@ msgstr "Λήψη των στοιχείων της συσκευής"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:190
msgid "Listing files, this can take a while"
-msgstr ""
+msgstr "Λίστα αρχείων, μπορεί να πάρει λίγο χρόνο"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:205
msgid "Reading ebook metadata"
-msgstr ""
+msgstr "Ανάγνωση μεταδεδομένων ηλεκτρονικού βιβλίου"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:238
#, python-format
msgid "Reading metadata from %s"
-msgstr ""
+msgstr "Ανάγνωση μεταδεδομένων από %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:257
msgid "Updating metadata cache on device"
-msgstr ""
+msgstr "Ενημένωση αποθηκευμένων στην συσκευή μεταδεδομένων"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:259
msgid "Finished reading metadata from device"
-msgstr ""
+msgstr "Ολοκλήρωση ανάγνωσης μεταδεδομένων από συσκευή"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:419
#, python-format
msgid "Transferred %s to device"
-msgstr ""
+msgstr "Μεταφορά %s στη συσκευή"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:421
msgid "Transfer to device finished..."
-msgstr ""
+msgstr "Ολοκήρωση μεταφοράς στην συσκευή..."
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:442
#, python-format
msgid "Added %s"
-msgstr ""
+msgstr "Προσθήκη %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:444
msgid "Adding complete"
-msgstr ""
+msgstr "Ολοκλήρωση προσθήκης"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:460
msgid "Deleting books from device..."
-msgstr ""
+msgstr "Διαγραφή βιβλίων από συσκευή..."
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:466
#, python-format
msgid "Deleted %s"
-msgstr ""
+msgstr "Διαγραφή %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:467
msgid "All books deleted"
-msgstr ""
+msgstr "Διαγραφή όλων των βιβλίων"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:470
msgid "Removing books from metadata"
-msgstr ""
+msgstr "Απομάκρυνση βιβλίων από μεταδεδομένα"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:482
#, python-format
msgid "Removed %s"
-msgstr ""
+msgstr "Απομάκρυνση %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484
msgid "All books removed"
-msgstr ""
+msgstr "Απομάκρυνση όλων των βιβλίων"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:212
#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:315
msgid "Unknown MTP device"
-msgstr ""
+msgstr "Άγνωστη συσκευή MTP"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/unix/driver.py:231
#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:219
#, python-format
msgid "Found object: %s"
-msgstr ""
+msgstr "Εύρεση αντικειμένου: %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:61
msgid "MTP devices are not supported on Windows XP"
-msgstr ""
+msgstr "Συσκευές MTP δεν υποστηρίζονται στα Windows XP"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/windows/driver.py:69
msgid ""
@@ -2107,7 +2174,7 @@ msgstr "Επικοινωνία με το Nokia 770 internet tablet."
#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40
msgid "Communicate with the Nokia 810/900 internet tablet."
-msgstr ""
+msgstr "Επικοινωνία με το Nokia 810/900 internet tablet."
#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74
msgid "Communicate with the Nokia E52"
@@ -2121,9 +2188,11 @@ msgstr "Το Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
+"Επικοινωνία με τους αναγνώστες ηλεκτρονικών βιβλίων Nook Color, TSR και "
+"Tablet."
#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17
msgid "Communicate with the Nuut2 eBook reader."
@@ -2132,20 +2201,21 @@ msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Nuut2."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22
msgid "Communicate with Sony eBook readers older than the PRST1."
msgstr ""
+"Επικοινωνία με αναγνώστες ηλεκτρονικών βιβλίων Sony παλιότερους από το PRST1."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:60
msgid "Comments have been removed as the SONY reader chokes on them"
-msgstr ""
+msgstr "Απομάκρυνση σχολίων αφού ο αναγνώστης SONYκολάει με αυτά"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:272
msgid "All by title"
-msgstr ""
+msgstr "Όλα κατά τίτλο"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:67
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:273
msgid "All by author"
-msgstr ""
+msgstr "Όλα κατά συγγραφέα"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:68
@@ -2167,6 +2237,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77
msgid "Upload separate cover thumbnails for books (newer readers)"
msgstr ""
+"Ανέβασμα ξεχωριστών μικρογραφιών εξωφύλλων για τα βιβλία (νεότεροι "
+"αναγνώστες)"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78
msgid ""
@@ -2181,6 +2253,8 @@ msgstr ""
msgid ""
"Refresh separate covers when using automatic management (newer readers)"
msgstr ""
+"Ανανέωση ξεχωριστών εξώφυλλων κατά την αυτόματη διαχείρηση (νεότεροι "
+"αναγνώστες)"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78
@@ -2193,7 +2267,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:82
msgid "Preserve cover aspect ratio when building thumbnails"
-msgstr ""
+msgstr "Διατήρηση λόγου ακμών εξωφύλλου όταν κατασκευάζονται μικρογραφίες"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:84
@@ -2225,10 +2299,11 @@ msgstr "Χωρίς όνομα"
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:36
msgid "Communicate with the PRST1 and newer SONY eBook readers"
msgstr ""
+"Επικοινωνία με PRST1 και νεότερους SONY αναγνώστες ηλεκτρονικών βιβλίων"
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:71
msgid "Upload separate cover thumbnails for books"
-msgstr ""
+msgstr "Ανέβασμα ξεχωριστών μικρογραφιών εξωφύλλου για τα βιβλία"
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:72
msgid ""
@@ -2254,7 +2329,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:184
msgid "Wireless Device"
-msgstr ""
+msgstr "Ασύρματη Συσκευή"
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:188
msgid "Communicate with Smart Device apps"
@@ -2316,7 +2391,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293
msgid "Possibilities include: series, tags, authors, etc"
-msgstr ""
+msgstr "Οι πιθανότητες περιλαμβάνουν: σειρές, διακριτικά, συγγραφείς, κλπ"
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301
msgid "Enable the no-activity timeout"
@@ -2332,7 +2407,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:306
msgid "Use this IP address"
-msgstr ""
+msgstr "Χρήση αυτής της διεύθυνσης IP"
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:307
msgid ""
@@ -2343,7 +2418,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:311
msgid "Replace books with the same calibre identifier"
-msgstr ""
+msgstr "Αντικατάσταση βιβλίων με κοινό αναγνωριστικό calibre"
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:312
msgid ""
@@ -2609,7 +2684,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Δεν υπάρχει αρκετός χώρος στην κάρτα αποθήκευσης"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Ο/Η/Το %s επεξεργάσθηκε"
@@ -2974,23 +3049,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3278,15 +3353,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4298,7 +4377,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Καθορισμός ταυτότητας (ID) του βιβλίου"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4322,27 +4401,27 @@ msgstr "Όχι"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Τίτλος"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Συγγραφείς"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Εκδότης"
@@ -4378,13 +4457,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4393,9 +4473,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4405,7 +4486,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4417,8 +4498,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Δημοσιεύτηκε"
@@ -4530,60 +4611,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Εξώφυλλο"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Κατέβασμα μεταδεδομένων και εξώφυλλων από το Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4591,13 +4672,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4607,6 +4706,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Κατέβασμα μεταδεδομένων και εξώφυλλων από το Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Μεγάλο"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Κατέβασμα μεταδεδομένων από το isbndb.com"
@@ -4667,12 +4807,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4699,72 +4839,72 @@ msgid "No details available"
msgstr "Δεν υπάρχουν διαθέσιμες λεπτομέρειες"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Πίνακας Περιεχομένων"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Σελίδα τίτλου"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Ευρετήριο"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Γλωσσάρι"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Παραδοχές"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Βιβλιογραφία"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Κολοφώνας"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Πνευματικά Δικαιώματα"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Αφιέρωση"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Σημειώσεις"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Πρόλογος"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4773,14 +4913,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4805,12 +4945,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -6146,12 +6317,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6235,8 +6406,8 @@ msgstr "Η λήψη μεταδεδομένων απέτυχε"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Η λήψη απέτυχε"
@@ -6277,7 +6448,7 @@ msgid "Download complete"
msgstr "Η λήψη ολοκληρώθηκε"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6347,15 +6518,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Γίνεται εφαρμογή των νέων μεταδεδομένων"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6460,17 +6631,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6774,7 +6967,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6879,7 +7072,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Αναζήτηση για %s"
@@ -6891,30 +7084,30 @@ msgstr "Καταστήματα"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Επιλέξτε καταστήματα"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6924,11 +7117,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7192,7 +7385,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7289,7 +7482,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63
msgid "Choose the location to add books from"
-msgstr ""
+msgstr "Επιλογή τοποθεσίας από που θα γίνει εισαγωγή βιβλίων"
#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64
msgid "Select a folder on your hard disk"
@@ -7402,7 +7595,7 @@ msgid "Click to open"
msgstr "Κάντε κλικ για να ανοίξει"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7412,7 +7605,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Συλλογές"
@@ -7446,16 +7639,25 @@ msgstr "Διαδρομή"
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7523,7 +7725,7 @@ msgstr "έξοδος"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7709,7 +7911,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Όνομα"
@@ -8049,8 +8251,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Κανονικό"
@@ -8966,59 +9168,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "&Τυπική γραμματοσειρά:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9030,13 +9236,29 @@ msgstr ""
msgid " px"
msgstr " εικ"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9274,6 +9496,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Μετατροπή"
@@ -9840,7 +10066,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9886,81 +10112,81 @@ msgstr "Συσκευή: "
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Καμία συσκευή"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Επιλέξτε τον τύπο αρχείου που θα σταλεί στην συσκευή"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Δεν είναι δυνατή η αποστολή: Δεν υπάρχει συνδεδεμένη συσκευή"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Δεν υπάρχει κάρτα"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Γίνεται αποστολή καταλόγων στην συσκευή."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Γίνεται αποστολή ειδήσεων στην συσκευή."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Γίνεται αποστολή βιβλίων στην συσκευή."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Δεν υπάρχει ελεύθερος χώρος στην συσκευή"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Πάμε!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Μηδενισμός γρήγορης αναζήτησης"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13534,32 +13767,32 @@ msgstr "αστέρια"
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "Στην Συσκευή"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Μέγεθος (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
-msgstr ""
+msgstr "Τροποποιήθηκε"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13568,30 +13801,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Μέγεθος"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13696,7 +13929,7 @@ msgid "Previous Page"
msgstr "Προηγούμενη Σελίδα"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14194,7 +14427,7 @@ msgid "Edit Metadata"
msgstr "Επεξεργασία μεταδεδομένων"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14339,15 +14572,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14355,27 +14588,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Παρακαλώ περιμένετε"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Ερώτηση: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14383,38 +14616,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr "Αναζήτηση…"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14555,7 +14794,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14598,34 +14838,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Υψηλή"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Χαμηλή"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Προκαθορισμένο"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14674,12 +14914,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15592,10 +15832,6 @@ msgstr ""
msgid "Small"
msgstr "Μικρό"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Μεγάλο"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Μεσαίο"
@@ -15613,7 +15849,7 @@ msgid "Never"
msgstr "Ποτέ"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16581,20 +16817,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Αρχείο καταγραφής σφαλμάτων:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Αρχείο καταγραφής προσβάσεων:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16627,18 +16863,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -17013,83 +17249,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Αναζήτηση (Για Σύνθετη Αναζήτηση πατήστε το κουμπί στα αριστερά)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr "Έναρξη αναζήτησης"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Αποθηκευμένες Αναζητήσεις"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18868,29 +19310,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20156,44 +20598,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20202,59 +20644,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20265,28 +20707,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20296,11 +20748,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20310,15 +20762,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20333,7 +20785,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20343,40 +20795,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20387,28 +20839,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20419,13 +20871,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20445,11 +20897,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20460,30 +20912,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20495,17 +20947,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20514,27 +20966,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20544,15 +20996,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20565,40 +21017,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Όνομα:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "προστέθηκε"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20612,13 +21064,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20626,34 +21078,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20668,18 +21120,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20687,33 +21139,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20736,31 +21188,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1840,7 +1879,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1849,11 +1888,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1873,55 +1912,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2046,7 +2085,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2836,23 +2875,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3140,15 +3179,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4099,7 +4142,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4123,27 +4166,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4179,13 +4222,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4194,9 +4238,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4206,7 +4251,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4218,8 +4263,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4331,60 +4376,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4392,13 +4437,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4408,6 +4471,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4467,12 +4571,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4499,72 +4603,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4573,14 +4677,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4605,12 +4709,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5938,12 +6062,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6027,8 +6151,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6064,7 +6188,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6134,15 +6258,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6247,17 +6371,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6561,7 +6707,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6666,7 +6812,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6678,30 +6824,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6711,11 +6857,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6979,7 +7125,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7189,7 +7335,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7199,7 +7345,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7233,16 +7379,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7310,7 +7465,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7496,7 +7651,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7836,8 +7991,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8753,59 +8908,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8817,13 +8976,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9061,6 +9236,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9627,7 +9806,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9673,81 +9852,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13321,32 +13507,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13355,30 +13541,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13483,7 +13669,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13981,7 +14167,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14126,15 +14312,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14142,27 +14328,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14170,38 +14356,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14342,7 +14534,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14385,34 +14578,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14461,12 +14654,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15379,10 +15572,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15400,7 +15589,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16368,20 +16557,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16414,18 +16603,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16800,83 +16989,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18655,29 +19050,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19925,44 +20320,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19971,59 +20366,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20034,28 +20429,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20065,11 +20470,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20079,15 +20484,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20102,7 +20507,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20112,40 +20517,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20156,28 +20561,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20188,13 +20593,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20214,11 +20619,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20229,30 +20634,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20264,17 +20669,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20283,27 +20688,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20313,15 +20718,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20334,40 +20739,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20381,13 +20786,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20395,34 +20800,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20437,18 +20842,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20456,33 +20861,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20505,31 +20910,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1838,7 +1877,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1847,11 +1886,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1871,55 +1910,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2044,7 +2083,7 @@ msgstr "The B&N Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Communicate with the B&N Nook eBook reader."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2527,7 +2566,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "There is insufficient free space on the storage card"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Rendered %s"
@@ -2861,23 +2900,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3173,15 +3212,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4170,7 +4213,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Set book ID"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4194,27 +4237,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Title"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Author(s)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Publisher"
@@ -4250,13 +4293,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4265,9 +4309,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4277,7 +4322,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4289,8 +4334,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4402,60 +4447,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4463,13 +4508,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4479,6 +4542,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4538,12 +4642,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4570,72 +4674,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4644,14 +4748,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4676,12 +4780,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -6009,12 +6133,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6098,8 +6222,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6135,7 +6259,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6205,15 +6329,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6318,17 +6442,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6632,7 +6778,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6737,7 +6883,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6749,30 +6895,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6782,11 +6928,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7050,7 +7196,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7260,7 +7406,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7270,7 +7416,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7304,16 +7450,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7381,7 +7536,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7567,7 +7722,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7907,8 +8062,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8824,59 +8979,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8888,13 +9047,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9132,6 +9307,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9698,7 +9877,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9744,81 +9923,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13392,32 +13578,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13426,30 +13612,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13554,7 +13740,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14052,7 +14238,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14197,15 +14383,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14213,27 +14399,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14241,38 +14427,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14413,7 +14605,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14456,34 +14649,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14532,12 +14725,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15450,10 +15643,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15471,7 +15660,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16439,20 +16628,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16485,18 +16674,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16871,83 +17060,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18726,29 +19121,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19996,44 +20391,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20042,59 +20437,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20105,28 +20500,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20136,11 +20541,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20150,15 +20555,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20173,7 +20578,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20183,40 +20588,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20227,28 +20632,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20259,13 +20664,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20285,11 +20690,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20300,30 +20705,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20335,17 +20740,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20354,27 +20759,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20384,15 +20789,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20405,40 +20810,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20452,13 +20857,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20466,34 +20871,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20508,18 +20913,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20527,33 +20932,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20576,31 +20981,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Highlight: "
"%(text)s
Notes: %(annotation)s
"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1948,7 +1987,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1957,11 +1996,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1981,55 +2020,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Communicate with the Sweex/Kogan/Q600/Wink."
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Communicate with the Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Communicate with the VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Communicate with the GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Communicate with the Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Communicate with the Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Communicate with the Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Communicate with the EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Communicate with the Adam tablet."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Communicate with the Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Communicate with the Moovybook Reader."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Communicate with the COBY."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Communicate with the Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2154,7 +2193,7 @@ msgstr "The Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Communicate with the Nook eBook reader."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Communicate with the Nook Color, TSR and Tablet eBook readers."
@@ -2680,7 +2719,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "There is insufficient free space on the storage card"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Rendered %s"
@@ -3090,27 +3129,27 @@ msgstr ""
"can result in various nasty side effects in the rest of the conversion "
"pipeline."
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "CSS file used for the output instead of the default file"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
-msgid ""
-"Template used for generation of the html index file instead of the default "
-"file"
-msgstr ""
-"Template used for generation of the html index file instead of the default "
-"file"
-
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
+"Template used for generation of the html index file instead of the default "
+"file"
+msgstr ""
+"Template used for generation of the html index file instead of the default "
+"file"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3444,15 +3483,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4644,7 +4687,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Set book ID"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4670,27 +4713,27 @@ msgstr "No"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Title"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Author(s)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Publisher"
@@ -4726,13 +4769,14 @@ msgstr "Comments"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Tags"
@@ -4741,9 +4785,10 @@ msgstr "Tags"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4753,7 +4798,7 @@ msgstr[0] "Series"
msgstr[1] "Series"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4765,8 +4810,8 @@ msgstr "Timestamp"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Published"
@@ -4904,61 +4949,61 @@ msgstr ""
"Fetch a cover image/social metadata for the book identified by ISBN from "
"LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Cover"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Downloads metadata and covers from Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "US"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "France"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Germany"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "UK"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Italy"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japan"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "Spain"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Amazon website to use:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
"Metadata from Amazon will be fetched using this country's Amazon website."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "Amazon timed out. Try again later."
@@ -4966,6 +5011,24 @@ msgstr "Amazon timed out. Try again later."
msgid "Metadata source"
msgstr "Metadata source"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -4974,7 +5037,7 @@ msgstr ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4984,6 +5047,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Downloads metadata and covers from Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Large"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Downloads metadata from isbndb.com"
@@ -5053,12 +5157,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "This is an Amazon Topaz book. It cannot be processed."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr "This is not a MOBI file. It is a Topaz file."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr "This is not a MOBI file."
@@ -5085,72 +5189,72 @@ msgid "No details available"
msgstr "No details available"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Table of Contents"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Title Page"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Index"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glossary"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Acknowledgements"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliography"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Colophon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Copyright"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Dedication"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epigraph"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Foreword"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "List of Illustrations"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "List of Tables"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Notes"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Preface"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Main Text"
@@ -5159,14 +5263,14 @@ msgstr "Main Text"
msgid "%s format books are not supported"
msgstr "%s format books are not supported"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5191,12 +5295,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
@@ -6447,44 +6569,44 @@ msgstr ""
"All formats for the selected books will be deleted from your "
"library.
The book metadata will be kept. Are you sure?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Cannot delete books"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "No device is connected"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Main memory"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Storage Card A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Storage Card B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "No books to delete"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "None of the selected books are on the device"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Deleting books from device."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6492,21 +6614,19 @@ msgstr ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6581,12 +6701,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Stopping"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr "Stopping server. This could take up to a minute, please wait..."
@@ -6670,8 +6790,8 @@ msgstr "Failed to download metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Download failed"
@@ -6711,7 +6831,7 @@ msgid "Download complete"
msgstr "Download complete"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Download log"
@@ -6807,15 +6927,15 @@ msgstr ""
"books will be permanently deleted from your calibre library.
"
"Are you sure you want to proceed?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Applying changed metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Some failures"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6922,17 +7042,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Smarten &punctuation"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -7239,7 +7381,7 @@ msgid "Click the show details button to see which ones."
msgstr "Click the show details button to see which ones."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Show book details"
@@ -7344,7 +7486,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Search for %s"
@@ -7356,17 +7498,17 @@ msgstr "Stores"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Choose stores"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "Cannot search"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
@@ -7374,7 +7516,7 @@ msgstr ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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 "
@@ -7384,7 +7526,7 @@ msgstr ""
"you are looking for, at the best price. You also get DRM status and other "
"useful information."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7400,11 +7542,11 @@ msgstr ""
"especially if the book you are buying has DRM."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Show this message again"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "About Get Books"
@@ -7674,7 +7816,7 @@ msgid "The specified directory could not be processed."
msgstr "The specified directory could not be processed."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "No books"
@@ -7901,7 +8043,7 @@ msgid "Click to open"
msgstr "Click to open"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "IDs"
@@ -7911,7 +8053,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr "Book %(sidx)s of %(series)s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Collections"
@@ -7945,16 +8087,25 @@ msgstr "Path"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Cover size: %(width)d x %(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "BibTeX Options"
@@ -8022,7 +8173,7 @@ msgstr "output"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8215,7 +8366,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Name"
@@ -8555,8 +8706,8 @@ msgid "Style the selected text block"
msgstr "Style the selected text block"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normal"
@@ -9521,59 +9672,63 @@ msgstr "No &Images"
msgid "PDF Output"
msgstr "PDF Output"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Paper Size:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr "&Custom size:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Preserve &aspect ratio of cover"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Se&rif family:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "&Sans family:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "&Monospace family:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "S&tandard font:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9585,13 +9740,29 @@ msgstr ""
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Monospace &font size:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9832,6 +10003,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Convert"
@@ -10422,7 +10597,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "No suitable formats"
@@ -10470,66 +10645,66 @@ msgstr "Device: "
msgid " detected."
msgstr " detected."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "selected to send"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "No device"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr "%(num)i of %(total)i Books"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 of %i Books"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Choose format to send to device"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Cannot send: No device is connected"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "No card"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Cannot send: Device has no storage card"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr "Auto convert the following books before uploading to the device?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Sending catalogues to device."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Sending news to device."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Sending books to device."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -10537,17 +10712,17 @@ msgstr ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "No space on device"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -14382,19 +14564,19 @@ msgstr ""
"
Words separated by spaces are ANDed"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Go!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Do Quick Search (you can also press the Enter key)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Reset Quick Search"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Copy current search text (instead of search name)"
@@ -14407,32 +14589,32 @@ msgstr "stars"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "On Device"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Size (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Modified"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "The lookup/search name is \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "This book's UUID is \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -14443,30 +14625,30 @@ msgstr ""
"Could not change the on disk location of this book. Is it open in another "
"program?"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr "Failed to set data"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr "Could not set data, click Show Details to see why."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "In Library"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Size"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Marked for deletion"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Double click to edit me
"
@@ -14573,7 +14755,7 @@ msgid "Previous Page"
msgstr "Previous Page"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -15107,7 +15289,7 @@ msgid "Edit Metadata"
msgstr "Edit Metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -15263,15 +15445,15 @@ msgstr "&Comments"
msgid "Basic metadata"
msgstr "Basic metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr "Has cover"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr "Has summary"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -15283,27 +15465,27 @@ msgstr ""
"having a cover will find a cover in the download\n"
"cover stage, and vice versa."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr "See at"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr "Calibre is downloading metadata from: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Please wait"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Query: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr "Failed to download metadata. Click \"Show Details\" to see details."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -15315,39 +15497,44 @@ msgstr ""
"single distinctive word from the title.Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
@@ -19689,11 +20071,11 @@ msgstr ""
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Active jobs"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -20253,29 +20635,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -21638,8 +22020,8 @@ msgstr ""
"please see the search related documentation in the User Manual. Default is "
"to do no filtering."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -21647,11 +22029,11 @@ msgstr ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "The string used to separate fields. Default is a space."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -21659,15 +22041,15 @@ msgstr ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Invalid fields. Available fields:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Invalid sort field. Available fields:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -21675,13 +22057,13 @@ msgstr ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -21695,19 +22077,19 @@ msgstr ""
"directories, see\n"
"the directory related options below.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
-msgid ""
-"Assume that each directory has only a single logical book and that all files "
-"in it are different e-book formats of that book"
-msgstr ""
-"Assume that each directory has only a single logical book and that all files "
-"in it are different e-book formats of that book"
-
#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+msgid ""
+"Assume that each directory has only a single logical book and that all files "
+"in it are different e-book formats of that book"
+msgstr ""
+"Assume that each directory has only a single logical book and that all files "
+"in it are different e-book formats of that book"
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Process directories recursively"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -21715,43 +22097,43 @@ msgstr ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Add an empty book (a book with no formats)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr "Set the title of the added book(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr "Set the authors of the added book(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr "Set the ISBN of the added book(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr "Set the tags of the added book(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr "Set the series of the added book(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr "Set the series number of the added book(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "You must specify at least one file to add"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -21769,33 +22151,38 @@ msgstr ""
"in the range is not\n"
"included).\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "You must specify at least one book to remove"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [options] id ebook_file\n"
-"\n"
-"Add the ebook in ebook_file to the available formats for the logical book "
-"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "You must specify an id and an ebook file"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "ebook file must have an extension"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -21811,11 +22198,11 @@ msgstr ""
"by using the list command. fmt should be a file extension like LRF or TXT or "
"EPUB. If the logical book does not have fmt available, do nothing.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "You must specify an id and a format"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -21831,15 +22218,15 @@ msgstr ""
"id.\n"
"id is an id number from the list command.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Print metadata in OPF form (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "You must specify an id"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -21854,7 +22241,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -21864,40 +22251,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -21915,28 +22302,28 @@ msgstr ""
"(in\n"
"an opf file). You can get id numbers from the list command.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr "Export all books in database, ignoring the list of ids."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Export books to the specified directory. Default is"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Export all books into a single directory"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Specifying this switch will turn this behavior off."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "You must specify some ids or the %s option"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -21954,7 +22341,7 @@ msgstr ""
"column.\n"
"datatype is one of: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -21962,7 +22349,7 @@ msgstr ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -21982,11 +22369,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "You must specify label, name and datatype"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -22004,7 +22391,7 @@ msgstr ""
"ouput.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -22014,7 +22401,7 @@ msgstr ""
"If declared, --search is ignored.\n"
"Default: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -22024,48 +22411,48 @@ msgstr ""
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr "Show detailed output information. Useful for debugging"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Error: You must specify a catalogue output file"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
-msgid ""
-"\n"
-" %prog set_custom [options] column id value\n"
-"\n"
-" Set the value of a custom column for the book identified by id.\n"
-" You can get a list of ids using the list command.\n"
-" You can get a list of custom column names using the custom_columns\n"
-" command.\n"
-" "
-msgstr ""
-"\n"
-" %prog set_custom [options] column id value\n"
-"\n"
-" Set the value of a custom column for the book identified by id.\n"
-" You can get a list of ids using the list command.\n"
-" You can get a list of custom column names using the custom_columns\n"
-" command.\n"
-" "
-
#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
+"\n"
+" %prog set_custom [options] column id value\n"
+"\n"
+" Set the value of a custom column for the book identified by id.\n"
+" You can get a list of ids using the list command.\n"
+" You can get a list of custom column names using the custom_columns\n"
+" command.\n"
+" "
+msgstr ""
+"\n"
+" %prog set_custom [options] column id value\n"
+"\n"
+" Set the value of a custom column for the book identified by id.\n"
+" You can get a list of ids using the list command.\n"
+" You can get a list of custom column names using the custom_columns\n"
+" command.\n"
+" "
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
+msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Error: You must specify a field name, id and value"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -22079,27 +22466,27 @@ msgstr ""
" List available custom columns. Shows column labels and ids.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Show details for each column."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "y"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -22115,15 +22502,15 @@ msgstr ""
" columns with the custom_columns command.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Do not ask for confirmation"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Error: You must specify a column label"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -22145,40 +22532,40 @@ msgstr ""
" replaced.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Error: You must specify an action (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Name:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Search string:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Error: You must specify a name and a search string"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "added"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Error: You must specify a name"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "removed"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr "Error: Action %s not recognised, must be one of: (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -22192,13 +22579,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -22210,12 +22597,12 @@ msgstr ""
"Perform some checks on the filesystem representing a library. Reports are "
"{0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Output in CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -22223,7 +22610,7 @@ msgstr ""
"Comma-separated list of reports.\n"
"Default: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -22231,7 +22618,7 @@ msgstr ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -22239,11 +22626,11 @@ msgstr ""
"Comma-separated list of names to ignore.\n"
"Default: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Unknown report check"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -22269,7 +22656,7 @@ msgstr ""
"what is found in the OPF files.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -22277,12 +22664,12 @@ msgstr ""
"Really do the recovery. The command will not run unless this option is "
"specified."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr "You must provide the %s option to do a recovery"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -22294,7 +22681,7 @@ msgstr ""
"Produce a report of the category information in the database. The\n"
"information is the equivalent of what is shown in the tags pane.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -22302,7 +22689,7 @@ msgstr ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -22310,7 +22697,7 @@ msgstr ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -22318,15 +22705,15 @@ msgstr ""
"Comma-separated list of category lookup names.\n"
"Default: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr "The string used to separate fields in CSV mode. Default is a comma."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "CATEGORY ITEMS"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -22359,31 +22746,22 @@ msgstr ""
"The label must contain only lower case letters, digits and underscores, and "
"start with a letter"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "creating custom column "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1863,7 +1902,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1872,11 +1911,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1896,55 +1935,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2069,7 +2108,7 @@ msgstr "Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Komuniki kun la aparato Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2550,7 +2589,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2859,23 +2898,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3163,15 +3202,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4125,7 +4168,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4149,27 +4192,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4205,13 +4248,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4220,9 +4264,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4232,7 +4277,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4244,8 +4289,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4357,60 +4402,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4418,13 +4463,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4434,6 +4497,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4493,12 +4597,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4525,72 +4629,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4599,14 +4703,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4631,12 +4735,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5964,12 +6088,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6053,8 +6177,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6090,7 +6214,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6160,15 +6284,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6273,17 +6397,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6587,7 +6733,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6692,7 +6838,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6704,30 +6850,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6737,11 +6883,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7005,7 +7151,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7215,7 +7361,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7225,7 +7371,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7259,16 +7405,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7336,7 +7491,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7522,7 +7677,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7862,8 +8017,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8779,59 +8934,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8843,13 +9002,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9087,6 +9262,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9653,7 +9832,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9699,81 +9878,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13347,32 +13533,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13381,30 +13567,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13509,7 +13695,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14007,7 +14193,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14152,15 +14338,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14168,27 +14354,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14196,38 +14382,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14368,7 +14560,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14411,34 +14604,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14487,12 +14680,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15405,10 +15598,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15426,7 +15615,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16394,20 +16583,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16440,18 +16629,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16826,83 +17015,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18681,29 +19076,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19951,44 +20346,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19997,59 +20392,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20060,28 +20455,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20091,11 +20496,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20105,15 +20510,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20128,7 +20533,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20138,40 +20543,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20182,28 +20587,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20214,13 +20619,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20240,11 +20645,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20255,30 +20660,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20290,17 +20695,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20309,27 +20714,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20339,15 +20744,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20360,40 +20765,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20407,13 +20812,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20421,34 +20826,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20463,18 +20868,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20482,33 +20887,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20531,31 +20936,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Destacado: %(text)s
Notas: %(annotation)s
"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr "El Kobo Touch soporta estantes a partir del firmware V2.0.0."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
"Especifique una columna de etiquetas para la administración automática"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Crear estantes"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
@@ -1982,11 +2022,11 @@ msgstr ""
"Crear nuevos estantes en el Kobo Touch si no existen. Esto sólo es válido "
"para el firmware V2.0.0 o posterior."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Eliminar estantes vacíos"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
@@ -1994,11 +2034,11 @@ msgstr ""
"Borrar todos los estantes vacíos del Kobo Touch después de sincronizar. Esto "
"sólo es válido para el firmware V2.0.0 o posterior."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Actualizar portadas de los libros"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
@@ -2006,11 +2046,11 @@ msgstr ""
"Enviar imágenes de portada de la biblioteca de calibre al enviar libros al "
"dispositivo."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr "Mantener la proporción de la portada"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
@@ -2018,7 +2058,7 @@ msgstr ""
"Al enviar portadas, no cambiar la proporción para adaptarla al dispositivo. "
"Esto es para versiones del firmware 2.3.1 y posteriores."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
@@ -2028,11 +2068,11 @@ msgstr ""
"archivos, pero en otros casos son sólo enlaces a la página web para comprar. "
"Active esta opción si quiere verlas o borrarlas."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr "Establecer información de serie"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -2045,7 +2085,7 @@ msgstr ""
"después de que éste ha procesado el libro. Active esta opción si quiere "
"establecer la información de serie."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -2059,11 +2099,11 @@ msgstr ""
"el Kobo a la configuración de fábrica y a probar software. Este controlador "
"soporta el firmware V2.x.x y DBVersion hasta "
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr "Título para probar al depurar"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -2086,55 +2126,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Comunicar con el Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Comunicar con el Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Comunicar con VelocityMono"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Comunicar con el GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Comunicar con el Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Comunicar con el lector Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Comunicar con el lector Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Comunicar con el EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Comunicar con la tableta Adam"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Comunicar con el lector Nextbook"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Comunicar con el lector Moovybook"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Comunicar con el COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Comunicar con el Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr "Comunicar con los lectores WayteQ y SPC Dickens"
@@ -2262,7 +2302,7 @@ msgstr "El Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Comunicar con el lector Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Comunicar con los lectores Nook Color, TSR y Tablet."
@@ -2829,7 +2869,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "No hay suficiente espacio libre en la tarjeta de almacenamiento"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "%s renderizado"
@@ -3250,11 +3290,11 @@ msgstr ""
"seguro de lo que está haciendo, pues puede producir efectos indeseados en el "
"resto de la cola de conversión."
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "Archivo CSS usado en la salida en lugar del predeterminado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3262,7 +3302,7 @@ msgstr ""
"Plantilla empleada para generar el archivo de índice html en lugar del "
"archivo predeterminado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3270,7 +3310,7 @@ msgstr ""
"Plantilla empleada para generar el cuerpo del libro en html en lugar del "
"archivo predeterminado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3632,20 +3672,23 @@ msgstr ""
"sobre esta opción."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
msgstr ""
-"Una plantilla HTML usada para generar pies de página en cada página. El "
-"texto _PAGENUM_ será sustituido por el número de página actual."
+"Una plantilla HTML usada para generar %s en cada página. Los textos "
+"_PAGENUM_, _TITLE_, _AUTHOR_ y _SECTION_ se sustituyen por sus valores "
+"actuales."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
+msgstr "pies de página"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
-msgstr ""
-"Una plantilla HTML usada para generar cabeceras de página en cada página. El "
-"texto _PAGENUM_ será sustutuido por el número de página actual."
+msgid "headers"
+msgstr "cabeceras"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
msgid ""
@@ -3847,9 +3890,9 @@ msgid ""
"for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. "
"'system' will default to the newline type used by this OS."
msgstr ""
-"Tipo de fin de línea. Las opciones son %s. El valor predeterminado es "
+"Tipo de salto de línea. Las opciones son %s. El valor predeterminado es "
"«system». Usar «old_mac» para compatibilidad con Mac OS 9 y anteriores. Para "
-"Mac OS X usar «unix». Con «system» se empleará el final de linea usado por "
+"Mac OS X usar «unix». Con «system» se empleará el salto de línea usado por "
"el actual sistema operativo."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/txt_output.py:47
@@ -3955,11 +3998,11 @@ msgid ""
"fonts in the output bigger and vice versa. By default, the base font size is "
"chosen based on the output profile you chose."
msgstr ""
-"El tamaño de letra base en pt. Todos los tamaños de letra en el libro "
-"generado se pondrán en relación a este tamaño. Si elige un tamaño mayor, "
-"hará que todas las letras de salida sean más grandes, o al contrario. De "
-"manera predeterminada, el tamaño de letra base se decide basándose en el "
-"perfil de salida seleccionado."
+"Tamaño de letra base en pt. Todos los tamaños de letra en el libro generado "
+"se pondrán en relación a este tamaño. Si elige un tamaño mayor, hará que "
+"todas las letras de salida sean más grandes, o al contrario. De manera "
+"predeterminada, el tamaño de letra base se decide basándose en el perfil de "
+"salida seleccionado."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:154
msgid ""
@@ -3990,8 +4033,8 @@ msgid ""
"line height specification, unless you know what you are doing. For example, "
"you can achieve \"double spaced\" text by setting this to 240."
msgstr ""
-"La altura mínima de la línea, como porcentaje del tamaño de letra del "
-"elemento calculado. calibre se asegurará de que cada elemento tenga esta "
+"La altura mínima de la línea, como porcentaje del tamaño de letra calculado "
+"para el elemento. calibre se asegurará de que cada elemento tenga esta "
"altura de línea como mínimo, a pesar de lo que indique el documento de "
"entrada. Asignar 0 para desactivar. El valor predeterminado es 120%. Utilice "
"esta opción preferentemente a la especificación directa de la altura de "
@@ -4005,7 +4048,7 @@ msgid ""
"cases, the minimum line height option is more useful. By default no line "
"height manipulation is performed."
msgstr ""
-"La altura de línea en pt. Controla el espacio entre líneas consecutivas de "
+"Altura de línea en pt. Controla el espacio entre líneas consecutivas de "
"texto. Sólo se aplica a elementos que no definen su propia altura de línea. "
"En la mayoría de los casos, la opción de altura de línea mínima es más útil. "
"De manera predeterminada no se modifica la altura de línea."
@@ -4896,7 +4939,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Establecer el código ID del libro"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4922,27 +4965,27 @@ msgstr "No"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Título"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(es)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Editorial"
@@ -4978,13 +5021,14 @@ msgstr "Comentarios"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Etiquetas"
@@ -4993,9 +5037,10 @@ msgstr "Etiquetas"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -5005,7 +5050,7 @@ msgstr[0] "Serie"
msgstr[1] "Series"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -5017,8 +5062,8 @@ msgstr "Marca temporal"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Publicado"
@@ -5159,61 +5204,61 @@ msgstr ""
"Obtiene metadatos sociales o la imagen de portada de LibraryThing.com del "
"libro identificado por el ISBN.\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Portada"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Descarga metadatos y portadas de Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "EE. UU."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "Francia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Alemania"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "Reino Unido"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Italia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japón"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "España"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr "Brasil"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Portal de Amazon que se utilizará:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
"Los metadatos de Amazon se descargarán de la página de Amazon de este país."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
"El tiempo de espera de Amazon ha expirado. Vuelva a intentarlo más tarde."
@@ -5222,6 +5267,28 @@ msgstr ""
msgid "Metadata source"
msgstr "Fuente de metadatos"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+"Descargar múltiples portadas desde Amazon. Útil para encontrar portadas "
+"alternativas."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr "Configurar el complemento Big Book Search"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr "Número máximo de portadas que se obtendrán"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+"El número máximo de portadas para procesar a partir del resultado de la "
+"búsqueda"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -5230,7 +5297,7 @@ msgstr ""
"Descarga metadatos y portadas de Douban.com. Sólo es útil para libros en "
"idioma chino."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -5242,6 +5309,51 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Descarga metadatos y portadas desde Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+"Descargar portadas desde una búsqueda de imágenes de Google. Útil para "
+"encontrar portadas mayores o alternativas."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr "Configurar el complemento Google Image Search"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+"El número máximo de portadas para procesar a partir del resultado de la "
+"búsqueda de Google."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr "Tamaño de portada"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr "Buscar portadas mayores que el tamaño especificado"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr "Cualquier tamaño"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Grande"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr "Mayores que %s"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Descarga metadatos de isbndb.com"
@@ -5315,12 +5427,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "Este es un libro Topaz de Amazon. No se puede procesar."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr "Este no es un archivo MOBI, es un archivo Topaz."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr "Este no es un archivo MOBI."
@@ -5354,72 +5466,72 @@ msgid "No details available"
msgstr "No hay detalles disponibles"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Índice"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Página de título"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Índice analítico"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glosario"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Agradecimientos"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliografía"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Colofón"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Derechos de autor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Dedicatoria"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epígrafe"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Prólogo"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Lista de ilustraciones"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Lista de tablas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Notas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Prefacio"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Texto principal"
@@ -5428,7 +5540,7 @@ msgstr "Texto principal"
msgid "%s format books are not supported"
msgstr "El formato de libros %s no está soportado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
@@ -5438,7 +5550,7 @@ msgstr ""
"formato de Amazon. calibre sólo puede modificar los archivos MOBI que "
"contienen libros KF8. Los archivos MOBI sin KF8 no son modificables."
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5466,8 +5578,8 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
@@ -6815,44 +6944,44 @@ msgstr ""
"Se borrarán todos los formatos de los libros seleccionados de la "
"biblioteca.
Los metadatos se conservarán. ¿Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "No se pueden eliminar libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "No hay ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Memoria principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Tarjeta de almacenamiento A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Tarjeta de almacenamiento B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "No hay libros para eliminar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Ninguno de los libros seleccionados está en el dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Eliminando libros del dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6860,21 +6989,23 @@ msgstr ""
"Algunos de los libros seleccionados están en el dispositivo conectado. ¿De "
"dónde quiere borrar los libros seleccionados?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"Los libros seleccionados serán borrados permanentemente y los "
-"archivos eliminados de su biblioteca calibre. ¿Está seguro?"
+"Los %d libros seleccionados serán borrados permanentemente y los "
+"archivos eliminados de la biblioteca calibre. ¿Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Los libros seleccionados se borrarán permanentemente del dispositivo. "
-"¿Está seguro?"
+"Los %d libros seleccionados se borrarán permanentemente del "
+"dispositivo. ¿Está seguro?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6951,12 +7082,12 @@ msgstr ""
"dispositivos especiales, etc."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Deteniendo"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
"Deteniendo el servidor, esto puede llevar hasta un minuto, espere un "
@@ -7045,8 +7176,8 @@ msgstr "Fallo al descargar metadatos"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Descarga fallida"
@@ -7089,7 +7220,7 @@ msgid "Download complete"
msgstr "Descarga finalizada"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Registro de descargas"
@@ -7185,15 +7316,15 @@ msgstr ""
"permanentemente de la biblioteca de calibre.
¿Está seguro de "
"querer continuar?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Aplicando los metadatos modificados"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Algunos fallos"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -7302,17 +7433,32 @@ msgstr "Pulir %d libros"
msgid "About Polishing books
%s"
msgstr "Acerca de pulir libros
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr "Reducir caracteres en los tipos de letra
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr "Corregir puntuación
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr "Sobrecubierta de metadatos
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr "Eliminar sobrecubierta de metadatos
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr "Seleccione acciones a realizar:"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr "&Reducir caracteres en todos los tipos de letra incrustados"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Mejorar &puntuación"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr "Actualizar &metadatos en los archivos del libro"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr "Actualizar la &portada en los archivos del libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr "Añadir metadatos como una página de «&sobrecubierta»"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr "&Eliminar una sobrecubierta previamente insertada"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr "Acerca de"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr "Mostrar &informe"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
"Mostrar un informe de todas las acciones realizadas una vez finalizado el "
"pulido"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr "&Guardar configuración"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr "&Cargar configuración"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr "Seleccionar &todo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr "No seleccionar &nada"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr "No hay acciones seleccionadas"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr "Debe seleccionar al menos una acción antes de guardar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr "Elegir un nombre"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr "Elija un nombre para esta configuración"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr "Eliminar configuraciones guardadas"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr "Hay que actualizar los metadatos"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+"Ha seleccionado la opción de añadir metadatos como «sobrecubierta». Para que "
+"esta opción funcione, debe seleccionar también la opción de actualizar los "
+"metadatos en los archivos del libro. ¿Quiere seleccionarla?"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr "Debe seleccionar al menos una acción o pulsar «Cancelar»."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr "Poniendo libros en cola para pulir"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr "Pulir %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr "Pulir libro %(nums)s de %(tot)s (%(title)s)"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr "Poniendo en cola libro %(nums)s de %(tot)s (%(title)s)"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr "Ignorar los %d informes restantes"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr "Ver el ®istro completo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr "Pulido de %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] "El archivo original se ha guardado como %s."
msgstr[1] "Los archivos originales se han guardado como %s."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr " y "
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr "Si pule otra vez, la acción se ejecutará sobre los originales."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr "Pulir libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr "Aplicar el brillo de perfección a los libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr "P"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr "No se puede pulir"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
@@ -7511,7 +7671,7 @@ msgstr ""
"Sólo se pueden pulir libros en los formatos %s. Convierta el libro a uno de "
"esos formatos antes de pulir."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr "Comenzar pulido de %d libro(s)"
@@ -7631,7 +7791,7 @@ msgid "Click the show details button to see which ones."
msgstr "Pulse el botón \"Mostrar detalles\" para ver cuáles."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Mostrar detalles del libro"
@@ -7741,7 +7901,7 @@ msgid "this book"
msgstr "este libro"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Buscar %s"
@@ -7753,17 +7913,17 @@ msgstr "Librerías"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Elegir librerías"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "No se puede buscar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
@@ -7771,7 +7931,7 @@ msgstr ""
"Calibre le ayuda a encontrar los libros electrónicos que desea buscando en "
"las páginas de diferentes fuentes de libros comerciales y de dominio público."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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 "
@@ -7780,7 +7940,7 @@ msgstr ""
"Si usa la búsqueda integrada podrá encontrar qué librería tiene el libro que "
"busca al mejor precio. También sabrá si tiene DRM y otros detalles útiles."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7796,11 +7956,11 @@ msgstr ""
"su lector, particularmente si se trata de libros con DRM."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Mostrar este mensaje nuevamente"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "Acerca de obtener libros"
@@ -8096,7 +8256,7 @@ msgid "The specified directory could not be processed."
msgstr "El directorio especificado no se puede procesar."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Sin libros"
@@ -8324,7 +8484,7 @@ msgid "Click to open"
msgstr "Pulse para abrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "Id."
@@ -8334,7 +8494,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr "Libro %(sidx)s de %(series)s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Colecciones"
@@ -8368,16 +8528,25 @@ msgstr "Ruta"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Tamaño de portada: %(width)d × %(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr "&Copiar enlace"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr "Borrar el formato %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr "Guardar el formato %s en el disco"
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr "Restaurar el formato %s"
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "Opciones de BibTeX"
@@ -8445,7 +8614,7 @@ msgstr "salida"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8639,7 +8808,7 @@ msgstr "Sí"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Nombre"
@@ -9002,8 +9171,8 @@ msgid "Style the selected text block"
msgstr "Asignar estilo al bloque de texto seleccionado"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normal"
@@ -9980,7 +10149,7 @@ msgstr "&Sin imágenes"
msgid "PDF Output"
msgstr "Salida PDF"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
@@ -9990,52 +10159,56 @@ msgstr ""
"si activa la casilla «Forzar». En caso contrario, se usará el tamaño "
"definido por el perfil de salida."
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr "&Reemplazar tamaño de página del perfil de salida"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Tamaño de página:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr "Tamaño &personalizado:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr "&Unidad:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "&Mantener las proporciones de la portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr "Añadir &números de página al final de cada página."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Familia se&rif:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "Familia &sans-serif:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "Tipo de letra &monoespaciada:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "Tipo de letra es&tándar:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr "&Tamaño de letra predeterminado:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -10047,14 +10220,34 @@ msgstr "&Tamaño de letra predeterminado:"
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Tamaño de &letra monoespaciada:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
-msgstr "Añadir &números de página al final de cada página."
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr "Cabeceras y pies de página"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+"Puede insertar cabeceras y pies de página en todas las páginas del PDF "
+"generado usando plantillas de cabecera y pie de página. Para ver ejemplos, "
+"véase la documentación."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr "Plantilla de &cabecera:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
+msgstr "Plantilla de &pie de página:"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
msgid "PMLZ Output"
@@ -10313,6 +10506,10 @@ msgstr ""
"con el documento de entrada actual. Cuando esté satisfecho con una "
"expresión, pulse el botón «Añadir» para añadirla a la lista de expresiones."
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr "Restaurar valores &predeterminados"
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Convertir"
@@ -10912,7 +11109,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr "Se ha detectado el %s. ¿Quiere que calibre lo administre?"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "No hay formatos adecuados"
@@ -10962,68 +11159,68 @@ msgstr "Dispositivo: "
msgid " detected."
msgstr " detectado."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "seleccionado para enviar"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Sin dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr "No hay ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr "%(num)i de %(total)i libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 de %i libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Elija el formato a enviar al dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "No se pudo enviar: no hay ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Sin tarjeta"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "No se pudo enviar: el dispositivo no tiene tarjeta de memoria"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"¿Convertir automáticamente los siguientes libros antes de pasarlos al "
"dispositivo?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Enviando catálogos al dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Enviando noticias al dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Enviando libros al dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -11032,18 +11229,18 @@ msgstr ""
"encontraron formatos adecuados. Convierta el(los) libro(s) a un formato "
"reconocido por el dispositivo antes de volver a intentarlo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "No hay espacio en el dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -14983,19 +15187,19 @@ msgstr ""
"comentarios, etc.
Se buscan libros que contengan todas las palabras "
"separadas por espacios"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "¡&Ya!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Realizar una Búsqueda rápida (también puede pulsar la tecla Intro)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Reiniciar la búsqueda rápida"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Copiar el texto de búsqueda actual (en vez del nombre de búsqueda)"
@@ -15008,32 +15212,32 @@ msgstr "estrellas"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "En el dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Tamaño (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Modificado"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "El nombre de búsqueda es «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "El UUID de este libro es «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -15044,32 +15248,32 @@ msgstr ""
"No se pudo cambiar la ubicación en el disco de este libro. Quizá esté "
"abierto en otro programa."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr "No se pudieron establecerlos datos"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
"No se pudieron establecer los datos, pulse «Mostrar detalles» para ver por "
"qué"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "En la biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Tamaño"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Marcado para borrarlo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Pulse dos veces para editarme
"
@@ -15176,7 +15380,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/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -15718,7 +15922,7 @@ msgid "Edit Metadata"
msgstr "Modificar metadatos"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -15874,15 +16078,15 @@ msgstr "Co&mentarios"
msgid "Basic metadata"
msgstr "Metadatos básicos"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr "Tiene portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr "Tiene resumen"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -15894,29 +16098,29 @@ msgstr ""
"se encontrará una en la fase de descargar portadas, o\n"
"al contrario."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr "Vea en"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr "calibre está descargando metadatos desde: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Espere"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Consulta: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"No se pudieron descargar los metadatos. Pulse «Mostrar detalles» para más "
"información"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -15928,42 +16132,48 @@ msgstr ""
"apellido del autor y una sola palabra del título.Virtual Libraries
\n"
+"\n"
+" Bibliotecas virtuales
\n"
+"\n"
+",
y
."
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr "Generar Índice a partir de &todos los encabezamientos"
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
@@ -20084,11 +20463,11 @@ msgstr ""
"funcionará si el libro identifica los encabezamientos con las etiquetas de "
"encabezamiento HTML. Usa las etiquetas
\n"
" Quitting may cause corruption on the device.
\n"
@@ -20481,11 +20920,11 @@ msgstr ""
"de datos en el dispositivo.
\n"
" ¿Está seguro de que desea salir?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Tareas activas"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -21059,29 +21498,29 @@ msgstr "Tamaño de letra predeterminado"
msgid "S&earch Google for '%s'"
msgstr "B&uscar «%s» en Google"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr "A&cercar"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr "A&lejar"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr "&Guardar como"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr "&Rotar"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr "Elija un archivo donde guardar"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr "Ver imagen: %s"
@@ -22585,8 +23024,8 @@ msgstr ""
"consulta de búsqueda acuda a la documentación relacionada con la búsqueda en "
"el Manual de usuario. De manera predeterminada no se realiza el filtrado."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -22594,12 +23033,12 @@ msgstr ""
"La longitud máxima de las líneas en el archivo de salida. De manera "
"predeterminada se toma la anchura de la pantalla."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
"El texto usado para separar campos. El valor predeterminado es un espacio."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -22607,15 +23046,15 @@ msgstr ""
"El prefijo para todas las rutas de archivo. El valor predeterminado es la "
"ruta absoluta de la carpeta de la biblioteca."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Campos no válidos. Campos disponibles:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Campo de ordenación no válido. Campos disponibles:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -22623,13 +23062,13 @@ msgstr ""
"Los siguientes libros no se han añadido porque ya existen en la base de "
"datos (ver la opción --duplicates)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr "ID de libros añadidos: %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -22643,7 +23082,7 @@ msgstr ""
"especificarse\n"
"directorios, ver las opciones relativas a directorios más abajo.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -22651,11 +23090,11 @@ msgstr ""
"Asumir que cada directorio tiene un solo libro y que todos los archivos del "
"directorio son diferentes formatos del mismo libro"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Procesar directorios recursivamente"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -22663,43 +23102,43 @@ msgstr ""
"Añadir los libros a la base de datos aunque ya existan. La comparación se "
"realiza sobre el título de los libros."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Añadir libro en blanco (sin formato)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr "Establece el título de los libros añadidos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr "Establece el autor de los libros añadidos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr "Establece el ISBN de los libros añadidos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr "Establece las etiquetas de los libros añadidos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr "Establece la serie de los libros añadidos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr "Establece el número de la serie de los libros añadidos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr "Ruta de la portada para usar para el libro añadido"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Debe especificar al menos un archivo para añadir"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -22717,33 +23156,44 @@ msgstr ""
"(al especificar un intervalo, el último número del intervalo no está "
"incluido).\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Debe especificar al menos un libro para eliminar"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr "Ya existe un archivo %s para el libro: %d, no se sustituirá"
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
"%prog add_format [opciones] ID archivo_libro\n"
"\n"
"Añadir el libro electrónico archivo_libro a los formatos disponibles para el "
"libro identificado por ID. Se puede obtener el ID usando la orden «list». Si "
-"el formato ya existe, será reemplazado por el nuevo.\n"
+"el formato ya existe, será sustituido por el nuevo, a no ser que se use la "
+"opción de no sustituir."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr "No sustituir el formato si ya existe"
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Debe especificar un ID y un archivo de libro electrónico"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "El archivo de libro electrónico debe tener una extensión"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -22759,11 +23209,11 @@ msgstr ""
"ID usando la orden «list». fmt debe ser una extensión de archivo como LRF, "
"TXT o EPUB. Si el libro no tiene el formato fmt disponible, no hace nada.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Debe especificar un ID y un formato"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -22779,15 +23229,15 @@ msgstr ""
"libro identificado por ID.\n"
"ID es un identificador de la orden «list».\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Imprimir los metadatos en formato OPF (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Debe especificar un ID"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -22812,7 +23262,7 @@ msgstr ""
"«show_metadata». También puede asignar metadatos a campos individuales\n"
"con la opción --field.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -22829,42 +23279,42 @@ msgstr ""
"identificadores, la sintaxis es {0} {2}. Para campos booleanos sí/no, use "
"los valores «true» y «false» o «yes» y «no»."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
"Lista los nombres de campo de metadatos que pueden usarse con la opción --"
"field"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr "Nombre del campo"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr "Debe especificar un ID de registro como primer argumento"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr "Debe especificar un campo o un archivo opf"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr "No hay ningún libro con ID: %s en la base de datos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr "El archivo OPF %s no existe"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr "%s no es un campo conocido"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -22883,30 +23333,30 @@ msgstr ""
"y metadatos (en un archivo OPF). Se pueden obtener los números ID con la "
"orden «list».\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Exportar todos los libros de la base de datos, ignorando el listado de ID."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
"Exportar los libros al directorio especificado. El valor predeterminado es"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Exportar todos los libros en un solo directorio"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Si se especifica esta opción, se desactiva este comportamiento."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Debe especificar algún ID o la opción %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -22922,7 +23372,7 @@ msgstr ""
"columna. No debe contener espacios ni dos puntos. «nombre» es el nombre "
"visible de la columna. «tipo_de_dato» es uno de: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -22930,7 +23380,7 @@ msgstr ""
"Esta columna almacena datos de etiquetas (valores separados por comas). Sólo "
"se aplica si el tipo de dato es texto."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -22968,11 +23418,11 @@ msgstr ""
"texto en formato JSON para la variable «display» de la nueva columna en el "
"archivo OPF."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Debe especificar una etiqueta, nombre y tipo de dato"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -22991,7 +23441,7 @@ msgstr ""
"catálogo generado.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -23002,7 +23452,7 @@ msgstr ""
"Si se declara, no se usará --search.\n"
"Valor predeterminado: todos"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -23012,16 +23462,16 @@ msgstr ""
"véase la documentación relativa a búsquedas en el Manual de usuario.\n"
"Valor predeterminado: sin filtrado"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr "Mostrar información de salida detallada. Útil para la depuración"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Error: Debe especificar un archivo de salida para el catálogo"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -23042,7 +23492,7 @@ msgstr ""
"orden «custom_columns».\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -23050,11 +23500,11 @@ msgstr ""
"Si la columna almacena valores múltiples, agrega los valores especificados a "
"los existentes en lugar de reemplazarlos."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Error: Debe especificar un nombre de campo, ID y valor"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -23069,20 +23519,20 @@ msgstr ""
"etiquetas de columna e ID.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Mostrar detalles de cada columna."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr "Se perderán todos los datos de la columna: %s. ¿Está seguro (s/n)? "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
@@ -23092,7 +23542,7 @@ msgstr ""
"columna, no los títulos. Use «calibredb custom_columns» para obtener una "
"lista de etiquetas."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -23108,15 +23558,15 @@ msgstr ""
" las columnas disponibles con la orden «custom_columns».\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "No pedir confirmación"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Error: Debe especificar una etiqueta para la columna"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -23138,41 +23588,41 @@ msgstr ""
" reemplazada.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Error: Debe especificar una acción (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Nombre:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Texto de búsqueda:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Error: Debe especificar un nombre y el texto de búsqueda"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "añadido"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Error: Debe especificar un nombre"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "eliminada"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
"Error: La acción %s no se reconoce, debe ser una de: (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -23196,7 +23646,7 @@ msgstr ""
"Tenga en cuenta que normalmente no hay necesidad de hacer esto, pues\n"
"los ficheros OPF se actualizan cada vez que se modifican los metadatos.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
@@ -23204,7 +23654,7 @@ msgstr ""
"Normalmente, esta orden sólo actúa sobre libros que tienen ficheros OPF "
"desactualizados. Esta opción hace que actúe sobre todos los libros."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -23216,12 +23666,12 @@ msgstr ""
"Realiza algunas comprobaciones en el sistema de archivos que contiene la "
"biblioteca. El resultado es {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Salida a formato CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -23229,7 +23679,7 @@ msgstr ""
"Lista de resultados separados por comas\n"
"Valor predeterminado: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -23237,7 +23687,7 @@ msgstr ""
"Lista de extensiones que se ignorarán separadas por comas.\n"
"Valor predeterminado: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -23245,11 +23695,11 @@ msgstr ""
"Lista de nombres que se ignorarán separados por comas.\n"
"Valor predeterminado: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Informe de verificación desconocido"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -23277,7 +23727,7 @@ msgstr ""
"recuperados serán tan precisos como lo sean los archivos OPF.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -23285,12 +23735,12 @@ msgstr ""
"Llevar a cabo la recuperación. La orden no se ejecutará a menos que se "
"especifique esta opción."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr "Debe proporcionar la opción %s para hacer una recuperación"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -23302,7 +23752,7 @@ msgstr ""
"Genera un informe de la información de la categoría en la base de datos. La\n"
"información es el equivalente a lo que se muestra en el panel de etiquetas.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -23310,7 +23760,7 @@ msgstr ""
"Generar en la salida sólo el número de elementos en una categoría en lugar "
"de las veces que aparece por elemento en la categoría"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -23318,7 +23768,7 @@ msgstr ""
"El carácter que se pondrá alrededor del valor de la categoría en modo CSV. "
"El valor predeterminado son las comillas ('')."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -23326,17 +23776,17 @@ msgstr ""
"Lista de los nombres de búsqueda de las categorías, separados por comas.\n"
"Valor predeterminado: todas"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"El texto que se usará para separar los campos en el modo CSV. El valor "
"predeterminado es una coma."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "ELEMENTOS DE CATEGORÍAS"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -23370,33 +23820,24 @@ msgstr ""
"La etiqueta debe contener sólo letras minúsculas, dígitos y guión bajo, y "
"empezar por una letra"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr "preferencia restaurada "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "creando columna personalizada "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr " (%s libros)"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1866,7 +1905,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1875,11 +1914,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1899,55 +1938,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2072,7 +2111,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2553,7 +2592,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2864,23 +2903,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3176,15 +3215,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4152,7 +4195,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4176,27 +4219,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4232,13 +4275,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4247,9 +4291,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4259,7 +4304,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4271,8 +4316,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4384,60 +4429,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Lae alla meta-andmed ja küljed Amazonist"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Amazoni veebileht, mida kasutada:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr "Amazoni meta-andmed võetakse selle riigi Amazoni lehelt."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "Amazon ei saatnud andmeid. Proovi hiljem uuesti."
@@ -4445,13 +4490,31 @@ msgstr "Amazon ei saatnud andmeid. Proovi hiljem uuesti."
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4461,6 +4524,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4520,12 +4624,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "See on Amazon Topaz raamat. Seda ei saa töödelda."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4555,72 +4659,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4629,14 +4733,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4661,12 +4765,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5994,12 +6118,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6083,8 +6207,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6120,7 +6244,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6190,15 +6314,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6303,17 +6427,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6619,7 +6765,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6724,7 +6870,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6736,30 +6882,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6769,11 +6915,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7037,7 +7183,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7247,7 +7393,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7257,7 +7403,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7291,16 +7437,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7368,7 +7523,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7554,7 +7709,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7894,8 +8049,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8822,7 +8977,7 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
@@ -8832,52 +8987,56 @@ msgstr ""
"\"Kirjuta üle\" kastikese. Vastasel juhul kasutatakse väljundprofiili "
"suurust."
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr "&Kirjuta üle väljundprofiili paberi suurus"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8889,13 +9048,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9133,6 +9308,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9699,7 +9878,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9745,81 +9924,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13393,32 +13579,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13427,30 +13613,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13555,7 +13741,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14053,7 +14239,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14198,15 +14384,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14214,27 +14400,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14242,38 +14428,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14414,7 +14606,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14457,34 +14650,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14533,12 +14726,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15451,10 +15644,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15472,7 +15661,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16442,20 +16631,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16488,18 +16677,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16874,83 +17063,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18729,29 +19124,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20012,44 +20407,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20058,59 +20453,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20121,28 +20516,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20152,11 +20557,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20166,15 +20571,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20189,7 +20594,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20199,40 +20604,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20243,28 +20648,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20275,13 +20680,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20301,11 +20706,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20316,30 +20721,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20351,17 +20756,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20370,27 +20775,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20400,15 +20805,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20421,40 +20826,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20468,13 +20873,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20482,34 +20887,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20524,18 +20929,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20543,33 +20948,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20592,31 +20997,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Markatua: %(text)s
Oharrak: %(annotation)s
"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
"\" Kobo Touch inprimaki firmwarea\"-ren V2.0.0 bertsioak liburu-apalategiak "
"onartzen ditu."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr "Zehaztu etiketa moten zutabe bat kudeaketa automatikorako"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Sortu liburuentzako apalategiak"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
@@ -1981,11 +2020,11 @@ msgstr ""
"Sortu liburuentzako apalategiak Kobo Touch gailuan oraindik horrelakorik ez "
"balego. V2.0.0 firmware bertsioan edo geroko bertsioetan besterik ez."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Ezabatu hutsik dauden liburu-apalategiak"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
@@ -1993,27 +2032,27 @@ msgstr ""
"Ezabatu hutsik dauden apalategiak Kobo Touch-etik sinkronizazioa bukatzean. "
"Hau V2.0.0 eta geroko firmwareentzat da bakarrik."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Kargatu liburu-azalak"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr "Mantendu liburu-azalaren proportzioa"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
@@ -2023,11 +2062,11 @@ msgstr ""
"batzuetan, liburuak saltzen dituzten webguneetara berbidaltzen zaituzten "
"estekak baino ez dira. Gomendioak ikusi/ezabatu nahi badituzu aukeratu."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr "Segidaren informazioa ezarri"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -2038,7 +2077,7 @@ msgstr ""
"Segiden informazioa gailuak liburua prozesatu ostean baino ezin da gehitu. "
"Gaitu segidaren informazioa ezarri nahi baldin baduzu."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -2050,11 +2089,11 @@ msgstr ""
"Calibrek irakurri-idatzi funtzioak osorik gaitzen saiatuko da, baina... "
"Kontuz ibili! Gailua berrezartzen ohituta baldin bazaude baino ez gaitu. "
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr "Akatsen garbiketa-probak egiterakoan erabiliko den izenburua"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -2074,55 +2113,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Komunikatu Sweex/Kogan/Q600/Wink horrekin"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Komunikatu \"Pandigital Novel\" horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Komunikatu \"VelocityMicro\" enpresarekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Komunikatu \"GM2000\" horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Komunikatu \"Acer Lumiread\" horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Komunikatu \"Aluratek Color\" horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Komunikatu \"Trekstor\" horrekin."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Kontaktatu EEE Reader horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Komunikatu Adam tableta horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Kontaktatu Nextbook Reader horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Komunikatu \"Moovybook Reader\" horrekin."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Komunikatu COBY delakoarekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Komunikatu Ex124G horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2250,7 +2289,7 @@ msgstr "Nook-a"
msgid "Communicate with the Nook eBook reader."
msgstr "Komunikatu Nook eBook irakurgailuarekin."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
"Jar zaitez kontaktuan Nook Color, TSR eta Tablet eBook readers horiekin."
@@ -2832,7 +2871,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Ez dago espazio libre nahikorik memoria-txartelean."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Prozesatua %s"
@@ -3270,13 +3309,13 @@ msgstr ""
"hau egiten ari zarena ondo dakizunean soilik, honen egikaritzapenak hainbat "
"albo-ondorio kaltegarri eduki baititzake gainontzeko bihurketa prozesuetan."
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
"Helburu fitxategia izateko erabili izan den CSS fitxategia, lehenetsitako "
"fitxategia erabili beharrean"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3284,7 +3323,7 @@ msgstr ""
"Indize fitxategia sortzeko erabili izan den html txantiloia, lehenetsitako "
"fitxategia erabili beharrean"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3292,7 +3331,7 @@ msgstr ""
"Liburaren edukiak sortzeko erabili izan den html txantiloia, lehenetsitako "
"fitxategia erabili beharrean"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3649,15 +3688,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4825,7 +4868,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Ezarri ezazu liburuaren ID"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4852,27 +4895,27 @@ msgstr "Ez"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Izenburua"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Egilea(k)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Argitaratzailea"
@@ -4908,13 +4951,14 @@ msgstr "Iruzkinak"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Etiketak"
@@ -4923,9 +4967,10 @@ msgstr "Etiketak"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4935,7 +4980,7 @@ msgstr[0] "Sailak"
msgstr[1] "Sailak"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4947,8 +4992,8 @@ msgstr "Dataren zigilua (noizkoa)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Argitaratua"
@@ -5078,60 +5123,60 @@ msgstr ""
"Eskura ezazu liburu azal bat irudi/gizarte metadatuekin bere ISBN-ren bidez "
"hemendik: LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Liburu-azala"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Amazonetik metadatuak eta azalak jeisten ditu"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "AEB"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "Frantzia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Alemania"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "Erresuma Batua"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "italia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japonia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "Espainia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Amazon enpresako ataria erabilgarri:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "Denbora agortua Amazon itxoiten. Beranduago berriro saiatu."
@@ -5139,6 +5184,24 @@ msgstr "Denbora agortua Amazon itxoiten. Beranduago berriro saiatu."
msgid "Metadata source"
msgstr "Metadatuen jatorria"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -5147,7 +5210,7 @@ msgstr ""
"Douban.com horretatik deskargatzen ditu metadatuak eta liburu-azalak. "
"Erabilgarri txinatar hizkuntzako liburuetan."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -5157,6 +5220,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr "Google Books-etik metadatuak eta azalak jeisten ditu"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Handi"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Deskargatu datuak isbndb.com gunetik"
@@ -5222,12 +5326,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "Hauxe Amazon Topaz liburua da. Ezin da prozesatu."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -5254,72 +5358,72 @@ msgid "No details available"
msgstr "Ez dago xehetasunik eskuragarri"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Aurkibidea"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Orriaren Izenburua"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Indizea"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glosarioa"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Aipamenak"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliografia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Azken oharra"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Copyright-a"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Eskaintza"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epigrafea"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Sarrera"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Irudien zerrenda"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Taulen zerrenda"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Oharrak"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Aitzinsolasa"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Testu nagusia"
@@ -5328,14 +5432,14 @@ msgstr "Testu nagusia"
msgid "%s format books are not supported"
msgstr "%s liburuen formatuekin ezin. Oraingoz sostengurik ez"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5360,12 +5464,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Ezin liburuak ezabatu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "Ez dago konektaturik inolako irakurgailurik"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Memoria nagusia"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Memoria-txartela A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Memoria-txartela B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Ez dago ezabatzeko libururik"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Hautatutako liburuak ez daude irakurgailuan, ezta bakar bat ere"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Ezabatzen liburuak irakurgailutik."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6653,21 +6775,19 @@ msgstr ""
"Hautatutako liburuetako batzuk erantsitako gailuan daude. Nondik nahi "
"duzu ezabatu hautatutako fitxategiak?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"Aukeratutako liburuak betiko ezabatu egingo dira zure calibre "
-"liburutegitik eta fitxategiak ezabatu egingo dira betiko. Ziur zaude?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Hautatutako liburuak betiko ezabatuak izango dira zure "
-"ordenagailutik. Ziur zaude?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6742,12 +6862,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Gelditzen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6832,8 +6952,8 @@ msgstr "Kale egin du metadatuak deskargatzen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Jaitsierak huts egin du"
@@ -6869,7 +6989,7 @@ msgid "Download complete"
msgstr "Jaitsiera osatu da"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6953,15 +7073,15 @@ msgstr ""
"bikoiztutako formatu guztiak ezabatu egingo dira betiko zure calibre "
"liburutegitik.
Ziur zaude? Benetan aurrera egin nahi duzu?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Aldatutako metadatuak ezartzen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Arazo batzuk"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -7066,17 +7186,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Itxura hobetzen &puntuazioa"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -7384,7 +7526,7 @@ msgstr ""
"Egin klik zehaztasunak erakutsi botoian ea zeintzuk izan diren ikusteko."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Erakutsi liburuaren xehetasunak"
@@ -7489,7 +7631,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -7501,30 +7643,30 @@ msgstr "Dendak"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Liburu dendak aukeratu"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "Ezin da bilatu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7534,11 +7676,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Mezu hau berriro erakutsi"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "Get Books-i buruz"
@@ -7808,7 +7950,7 @@ msgid "The specified directory could not be processed."
msgstr "Zehaztutako direktorioa ezin izan da prozesatu."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Libururik ez"
@@ -8038,7 +8180,7 @@ msgid "Click to open"
msgstr "Egin klik zabaltzeko"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "Id."
@@ -8049,7 +8191,7 @@ msgstr ""
"%(sidx)s horretako %(series)s liburua"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Bildumak"
@@ -8083,16 +8225,25 @@ msgstr "Bidea (Path)"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Azalaren tamaina: %(width)d x %(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "BibTeX Aukerak"
@@ -8160,7 +8311,7 @@ msgstr "outputa, helburua"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8346,7 +8497,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Izena"
@@ -8688,8 +8839,8 @@ msgid "Style the selected text block"
msgstr "Hautatutako testu blokearen estiloa aldatu"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normala"
@@ -9631,59 +9782,63 @@ msgstr "Ez dago &Irudirik"
msgid "PDF Output"
msgstr "PDF outputa"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "&Paperaren tamaina:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Ondo gorde liburu-azalaren &itxura proportzioa"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Se&rif familia:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "&Sans familia:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "&Monospace familia:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "Letra-tipo es&tandarra:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9695,13 +9850,29 @@ msgstr ""
msgid " px"
msgstr " pixelak"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Monospace &letra-tipoaren tamaina:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9945,6 +10116,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Bihurtu"
@@ -10526,7 +10701,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Ez dago formatu egokirik"
@@ -10572,67 +10747,67 @@ msgstr "Gailua: "
msgid " detected."
msgstr " detektaturik."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "hautatua bidaltzeko"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Gailurik ez dago"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Aukeratu irakurgailura bidaltzeko formatua"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Ezin izan da igorri: ez dago inolako gailurik konektatua"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Txartelik ez dago"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Ezin bidali: gailuak ez dauka memoria-txartelik"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"Bihurtu modu automatikoan hurrengo liburuak irakurgailuan kargatu aurretik?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Katalogoak irakurgailura bidaltzen."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Albisteak irakurgailura bidaltzen."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Liburuak irakurgailura bidaltzen."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -10641,17 +10816,17 @@ msgstr ""
"topatu egin ez delako. Lehenengo eta behin, bihurtu liburua(k) zure "
"irakurgailuak onartzen duen formaturen batean."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Lekurik ez irakurgailuan"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -14332,19 +14514,19 @@ msgstr ""
"etiketak, iruzkinak, eta abar erabilita.
Espazioekin bereiziriko "
"hitzak ETA juntagailuarekin elkartuta baleude legez hartuko dira"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Aurrera!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Egin esazu bilaketa azkarra (Sartu giltza sakatzea duzu ere bai)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Berrezarri bilaketa azkarra"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Kopiatu oraingo bilaketa testua (bilaketa izenaren ordez)"
@@ -14357,32 +14539,32 @@ msgstr ""
msgid "Y"
msgstr "B"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "Irakurgailuan"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Tamaina (Mb)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "Bilaketa izena hauxe: \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "Liburu honen UUID (Universally Unique Identifier) hauxe da: \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -14391,30 +14573,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "Liburutegian"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Tamaina"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Ezabatzeko markatuta"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Egin ezazu klik birritan editatzeko
"
@@ -14521,7 +14703,7 @@ msgid "Previous Page"
msgstr "Aurreko orrialdea"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -15041,7 +15223,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -15192,15 +15374,15 @@ msgstr "&Iruzkinak"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -15208,27 +15390,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -15236,38 +15418,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Deskargatzen liburu-azala..."
@@ -15417,7 +15605,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -15460,34 +15649,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Altua"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Baxua"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Lehenetsia"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Baieztatze elkarrizketak berrezarri egin dira"
@@ -15540,18 +15729,15 @@ msgid "Job &priority:"
msgstr "Lana &lehentasuna:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Oraingo liburutegian zabalik dagoenean aplikatzeko murrizketak:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Aplika ezazu murrizketa hau calibre abiarazterakoan egungo liburutegia "
-"erabiltzen ari bada. Aplikatu egingo da liburutegi modura aldatzerakoan. "
-"Ohar zaitez ezarpen hau liburutegirako dela. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -16503,10 +16689,6 @@ msgstr ""
msgid "Small"
msgstr "Txiki"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Handi"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Ertain"
@@ -16524,7 +16706,7 @@ msgid "Never"
msgstr "Inoiz ez"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Lehen letratik"
@@ -17573,20 +17755,20 @@ msgstr ""
"utz daiteke zenbait irakurgailutan gailuaren interfazea pertsonalizatuz "
"honela: Preferences->Advanced->Plugins (Aukerak>Aurreratua>Gehigarriak)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Huts egin du edukien zerbitzaria abiarazten"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Log errorea:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Sarbideko log:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Zerbitzaria berrabiarazi egin behar aldaketak gauzatzeko"
@@ -17621,23 +17803,19 @@ msgid "Max. &OPDS items per query:"
msgstr "Max. &OPDS kontuak kontsultarako, galdetzeko:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Max. OPDS &multzokatu gabeko kontuak:"
+msgid "Max. &ungrouped items:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Murrizketak (gordetako bilaketa) aplikatzeko:"
+msgid "Virtual library to apply:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Gordetako bilaketetan oinarritutako murrizketa honek edukien zerbitzariak "
-"gaitzen dituen bilaketarekin bat egiten duten edukiak mugatuko ditu. Ezarpen "
-"hau liburutegietarako da (adibeidez, zuk murrizketa bana izan dezakezu "
-"liburutegi bakoitzeko)."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -18018,85 +18196,235 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
-msgstr "Ezabatu uneko bilaketa"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr "Ezabatu uneko bilaketa"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr "Aukeratutako bilaketa betiko ezabatu egingo da. Ziur zaude?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Bilatu (Bilaketa aurreraturako egin klik ezkerreko botoian)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Gordetako bilaketak"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
"Aukeratu gordetako bilaketak edo sartu izena gordetako bilaketa berri "
"baterako"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
-msgstr "*Uneko bilaketa"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Honetara murriztuta"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
@@ -19358,11 +19742,11 @@ msgstr ""
"daiteke.
\n"
" Ziur zaude? Benetan irten nahi duzu?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -19920,29 +20304,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -21272,8 +21656,8 @@ msgstr ""
"formaturako, mesedez begiratu bilaketari buruzko dokumentazioa "
"Erabiltzailearen eskuliburua. Lehenetsita: ez egin inolako iragazpenik."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -21281,11 +21665,11 @@ msgstr ""
"Lerro sinple baten zabalera maximoa. Lehenetsitako balioa: pantailaren "
"tamaina detektatzea."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "Eremuak bereizteko erabiltzen den testua. Lehenetsia: espazio bat."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -21293,15 +21677,15 @@ msgstr ""
"Fitxategi bide guztietarako aurrizkia. Lehenetsia: liburutegiko karpetarako "
"bide hutsa."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Balio gabeko eremuak. Eskuragarri dauden eremuak:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Ordenatzeko eremu balio gabea. Eskuragarri dauden eremuak:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -21309,13 +21693,13 @@ msgstr ""
"Hurrengo liburuak ez dira gehitu zeren dagoeneko datu basean bazeuden (ikus -"
"-duplicates aukera: \"bikoiztuak\"):"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -21329,7 +21713,7 @@ msgstr ""
"daitezke, ikus itzazu\n"
"direktorioei buruzko aukerak beherago.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -21337,11 +21721,11 @@ msgstr ""
"Onartu direktorio bakoitzak liburu bakarra daukala loturik eta beraz "
"karpetako fitxategi guztiak liburu beraren formatu desberdinak direla"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Prozesatu direktorioak modu errekurtsiboan"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -21349,43 +21733,43 @@ msgstr ""
"Gehitu liburuak datu-basera, nahiz eta dagoeneko bertan izan. Erkaketa "
"liburuen izenburuetan oinarrituko da."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Gehitu liburu huts bat (formaturik gabeko liburu bat)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Gutxienez fitxategi bat zehaztu beharko duzu gehitzeko"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -21396,35 +21780,39 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Ezabatzeko gutxienez liburu bat zehaztu beharko duzu"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [aukerak] id ebook_fitxategia\n"
-"\n"
-"Gehitu ebook_fitxategian dagoen liburu elektronikoa eskuragarri dauden "
-"formatuetan IDren bidez identifikatutako liburu logikorako. IDak lor "
-"ditzakezu \"list\" agindua erabiliz. Formatu existitzen bada dagoeneko, "
-"ordeztu egingo da.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
"Zehaztu egin beharko duzu ID bat eta liburu-elektroniko fitxategi bat"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "liburu elektronikoaren fitxategiak luzapena izan beharko du"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -21441,11 +21829,11 @@ msgstr ""
"du, LRF edo TXT edo EPUB ezagunago horiek bezala. Liburu logikoak ez badu "
"fmt eskurakagarririk, ez egin ezer.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Zehaztu behar duzu ID bat eta formatu bat"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -21461,15 +21849,15 @@ msgstr ""
"identifikatutako liburuarentzat.\n"
"id zera da, ID zenbakia \"list\" agindurako.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Inprima itzazu metadatuak OPF formatuarekin (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "ID bat zehaztu beharko duzu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -21484,7 +21872,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -21494,40 +21882,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -21545,29 +21933,29 @@ msgstr ""
"eta metadatuak barne (formatu honetan,\n"
"OPF fitxategi formatuan). Lor ditzakezu ID zenbakiak \"list\" agindutik.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Esportatu data-baseko liburu guztiak, ID zerrendari ez ikusiarena eginez."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Esportatu liburua zehaztutako direktoriora. Lehenetsita hauxe:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Esportatu liburu guztiak direktorio sinple batera"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Aldaketa hau zehaztuz jokabide hau bertan behera geratuko da."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "ID batzuk zehaztu egin beharko dituzu edo %s aukera"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -21585,7 +21973,7 @@ msgstr ""
"goitizena da.\n"
"datu-mota hauetako bat da: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -21594,7 +21982,7 @@ msgstr ""
"bereiziriko balioak). Aplikatuko da datu-tipoa testua baldin bada, besterik "
"ez."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -21614,11 +22002,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Zehaztu beharko duzu etiketa mota, izena eta datu tipoa"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -21637,7 +22025,7 @@ msgstr ""
"helburu katalogoan.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -21647,7 +22035,7 @@ msgstr ""
"Adierazten bada, --search hori baztertu egingo da.\n"
"Lehenetsita: dena"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -21658,18 +22046,18 @@ msgstr ""
"Erabiltzailearen eskuliburuan.\n"
"Lehenetsita: irazkirik ez"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
"Erakutsi output informazioa, irteera informazioa, ondo zehaztuta. "
"Akatsgabetzeko erabilgarria"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Errorea: zehaztu beharko duzu irteera katalogo fitxategi bat"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -21691,7 +22079,7 @@ msgstr ""
" agindua.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -21699,11 +22087,11 @@ msgstr ""
"Zutabeak balio anitz gordetzen baditu, erantsi zehaztutako balioak "
"lehenagotik zeuden balioetara, ordeztu beharrean."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Errorea: zehaztu behar duzu eremu izen bat, ID bat eta balio bat"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -21718,27 +22106,27 @@ msgstr ""
"Erakusten ditu zutabeen etiketak eta IDak.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Erakutsi zehaztasunak zutabe bakoitzean."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "bai"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -21755,15 +22143,15 @@ msgstr ""
" zutabeak custom_columns aginduarekin, (pertsonalizatu_zutabeak).\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Ez eskatu baieztapenik"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Errorea: zutabearen etiketa zehaztu beharko duzu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -21786,42 +22174,42 @@ msgstr ""
" ordeztu egingo dela.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Errorea: ekintza bat zehaztu behar duzu (gehitu|ezabatu|zerrendatu)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Izena:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Katea bilatzen:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Errorea: zehaztu behar duzu izen bat eta bilaketa-kate bat"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "gehiturik"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Errorea: izen bat zehaztu behar duzu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "ezabaturik"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
"Errorea: %s ekintza ezezaguntzat hartu da, hauetako bat beharko: "
"(gehitu|ezabatu|zerrendatu)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -21835,13 +22223,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -21853,12 +22241,12 @@ msgstr ""
"Egin itzazu liburutegia osatzen duen fitxategi sisteman azterketa eta "
"egiaztapen batzuk . Txostenak hauek dira: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Helburua CSV (Comma Separated Values) horretan"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -21866,7 +22254,7 @@ msgstr ""
"Txostenak komaz bereizitako zerrenda.\n"
"Lehenetsita: dena"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -21874,7 +22262,7 @@ msgstr ""
"Komaz bereizitako luzapenen zerrenda kasurik ez egiteko.\n"
"Lehenetsita: dena"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -21882,11 +22270,11 @@ msgstr ""
"Komaz bereizitako izenen zerrenda kasurik ez egiteko.\n"
"Lehenetsita: dena"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Txosten azterketa ezezaguna"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -21915,7 +22303,7 @@ msgstr ""
"menpe geratuko da.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -21923,12 +22311,12 @@ msgstr ""
"Berreskuratzea egin, bai. Agindua ez da martxan hasiko aukera hau zehaztu "
"arte."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -21940,7 +22328,7 @@ msgstr ""
"Txostena sortzen du kategorien informazioaren gainean datu basean. Hori\n"
"informazio hori etiketen erakusleihoan erakusten denaren baliokidea da.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -21948,7 +22336,7 @@ msgstr ""
"Erakutsi bakarrik zenbat gai dagoen kategoria bakoitzeko eta ez zenbat aldiz "
"zenbatu den gai bakoitzeko kategoria bakoitzean"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -21956,7 +22344,7 @@ msgstr ""
"CSV (Comma-separated values) moduan dagoen kategoriaren balioan jartzeko "
"karakterea. Lehenetsita aipuetan (\")."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -21964,17 +22352,17 @@ msgstr ""
"Bilatutako izenen kategorien komen bidez bereizitako zerrenda.\n"
"Lehenetsita: dena"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"Eremuak bereizteko erabili den katea CSV (Comma-separated values) motatakoa "
"da. Lehenetsitako balioa koma bat da."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "KATEGORIA GAIAK"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -22007,33 +22395,24 @@ msgstr ""
"Etiketak idazteko bakarrik letra xeheak, zenbakiak eta azpimarrak (hau da "
"beheko gidoitxoak). Letra batekin hasi beharko"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "zutabe pertsonalizatua sortzen "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1861,7 +1903,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1870,11 +1912,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1894,55 +1936,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2067,7 +2109,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2548,7 +2590,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2857,23 +2899,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3161,15 +3203,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4123,7 +4169,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4147,27 +4193,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4203,13 +4249,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4218,9 +4265,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4230,7 +4278,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4242,8 +4290,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4355,60 +4403,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4416,13 +4464,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4432,6 +4498,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4491,12 +4598,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4523,72 +4630,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4597,14 +4704,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4629,12 +4736,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5962,12 +6089,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6051,8 +6178,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6088,7 +6215,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6158,15 +6285,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6271,17 +6398,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6585,7 +6734,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6690,7 +6839,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6702,30 +6851,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6735,11 +6884,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7003,7 +7152,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7213,7 +7362,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7223,7 +7372,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7257,16 +7406,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7334,7 +7492,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7520,7 +7678,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7860,8 +8018,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8777,59 +8935,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8841,13 +9003,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9085,6 +9263,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9651,7 +9833,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9697,81 +9879,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13345,32 +13534,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13379,30 +13568,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13507,7 +13696,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14005,7 +14194,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14150,15 +14339,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14166,27 +14355,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14194,38 +14383,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14366,7 +14561,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14409,34 +14605,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14485,12 +14681,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15403,10 +15599,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15424,7 +15616,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16392,20 +16584,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16438,18 +16630,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16824,83 +17016,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18679,29 +19077,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19949,44 +20347,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19995,59 +20393,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20058,28 +20456,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20089,11 +20497,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20103,15 +20511,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20126,7 +20534,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20136,40 +20544,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20180,28 +20588,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20212,13 +20620,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20238,11 +20646,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20253,30 +20661,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20288,17 +20696,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20307,27 +20715,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20337,15 +20745,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20358,40 +20766,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20405,13 +20813,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20419,34 +20827,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20461,18 +20869,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20480,33 +20888,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20529,31 +20937,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1885,7 +1924,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1894,11 +1933,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1918,55 +1957,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Kommunikoi Pandigital Novelin kanssa"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2091,7 +2130,7 @@ msgstr "Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Kommunikoi Nook-lukijan kanssa."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2574,7 +2613,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Muistikortilla ei ole riittävästi vapaata tilaa"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "%s renderöity"
@@ -2929,23 +2968,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3233,15 +3272,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4208,7 +4251,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Määritä kirjan ID"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4232,27 +4275,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Tekijä(t)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4288,13 +4331,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4303,9 +4347,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4315,7 +4360,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4327,8 +4372,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4440,60 +4485,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4501,13 +4546,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4517,6 +4580,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4576,12 +4680,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4608,72 +4712,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4682,14 +4786,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4714,12 +4818,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -6048,12 +6172,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6137,8 +6261,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6174,7 +6298,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6244,15 +6368,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6357,17 +6481,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6671,7 +6817,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6776,7 +6922,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6788,30 +6934,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6821,11 +6967,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "Tietoja Hanki kirjoja -toiminnosta"
@@ -7089,7 +7235,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7299,7 +7445,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7309,7 +7455,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7343,16 +7489,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7420,7 +7575,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7606,7 +7761,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7946,8 +8101,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8863,59 +9018,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8927,13 +9086,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9171,6 +9346,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9737,7 +9916,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9783,81 +9962,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13431,32 +13617,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Koko (Mt)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13465,30 +13651,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13593,7 +13779,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14091,7 +14277,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14236,15 +14422,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14252,27 +14438,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14280,38 +14466,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14452,7 +14644,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14495,34 +14688,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14571,12 +14764,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15489,10 +15682,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15510,7 +15699,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16478,20 +16667,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16524,18 +16713,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16910,83 +17099,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Haku (Enemmän hakuvaihtoehtoja: napsauta kuvaketta vasemmalla)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Tallennetut haut"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr "Tallennettujen hakujen hallinta"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18765,29 +19160,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -20046,44 +20441,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20092,59 +20487,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20155,28 +20550,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20186,11 +20591,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20200,15 +20605,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20223,7 +20628,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20233,40 +20638,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20277,28 +20682,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20309,13 +20714,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20335,11 +20740,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20350,30 +20755,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20385,17 +20790,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20404,27 +20809,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20434,15 +20839,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20455,40 +20860,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20502,13 +20907,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20516,34 +20921,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20558,18 +20963,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20577,33 +20982,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20626,31 +21031,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1834,7 +1873,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1843,11 +1882,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2040,7 +2079,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2830,23 +2869,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3134,15 +3173,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4093,7 +4136,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4117,27 +4160,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4173,13 +4216,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4188,9 +4232,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4200,7 +4245,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4212,8 +4257,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4325,60 +4370,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4386,13 +4431,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4402,6 +4465,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4493,72 +4597,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4567,14 +4671,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4599,12 +4703,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5932,12 +6056,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6021,8 +6145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6058,7 +6182,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6128,15 +6252,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6241,17 +6365,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6660,7 +6806,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6672,30 +6818,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6705,11 +6851,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7183,7 +7329,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7227,16 +7373,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7304,7 +7459,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7490,7 +7645,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7830,8 +7985,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8747,59 +8902,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8811,13 +8970,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9055,6 +9230,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9667,81 +9846,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13315,32 +13501,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13349,30 +13535,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13477,7 +13663,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13975,7 +14161,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14120,15 +14306,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14136,27 +14322,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14164,38 +14350,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14336,7 +14528,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14379,34 +14572,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14455,12 +14648,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15373,10 +15566,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15394,7 +15583,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16362,20 +16551,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16794,83 +16983,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18649,29 +19044,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19919,44 +20314,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19965,59 +20360,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20028,28 +20423,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20059,11 +20464,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20073,15 +20478,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20096,7 +20501,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20106,40 +20511,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20150,28 +20555,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20182,13 +20587,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20208,11 +20613,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20223,30 +20628,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20258,17 +20663,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20277,27 +20682,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20307,15 +20712,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20328,40 +20733,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20375,13 +20780,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20389,34 +20794,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20431,18 +20836,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20450,33 +20855,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20499,31 +20904,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Point "
"culminant : %(text)s
Notes : %(annotation)s
"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr "Le Kobo Touch à partir du micrologiciel v2.00 supporte les étagères"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr "Spécifier une colonne de type étiquettes pour la gestion automatique"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Créer les étagères"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
@@ -1999,11 +2038,11 @@ msgstr ""
"Créer de nouvelles étagères sur le Kobo Touch si elles n'existent pas. Ceci "
"n'est valable que pour le micrologiciel v2.00 ou plus récent."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Supprimer les étagères vides"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
@@ -2011,11 +2050,11 @@ msgstr ""
"Supprimer toutes les étagères vides du Kobo Touch lorsque la synchronisation "
"est finie. Ceci n'est valable que pour le micrologiciel v2.00 ou plus récent."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Télécharger les couvertures des livres"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
@@ -2023,11 +2062,11 @@ msgstr ""
"Charger les couvertures depuis la bibliothèque Calibre lors de l'envoi de "
"livres vers le périphérique."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr "Conserve le ratio d'aspect de la couverture"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
@@ -2035,7 +2074,7 @@ msgstr ""
"Ne change pas, lors du chargement de couvertures, la proportion des images "
"pour le périphérique. Concerne les version de firmware 2.3.1 et ultérieures."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
@@ -2046,11 +2085,11 @@ msgstr ""
"redirections vers des sites d'achat. Activer, si vous voulez les "
"voir/supprimer."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr "Définir les informations de Séries"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -2063,7 +2102,7 @@ msgstr ""
"peuvent être ajoutées à l'appareil que lorsque le livre a été traité par "
"l'appareil. Activer si vous souhaitez définir les informations des séries."
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -2073,16 +2112,16 @@ msgid ""
msgstr ""
"Kobo met à jour de manière régulière le micrologiciel et la version de la "
"base de données. Avec cette option Calibre tentera d'effectuer une lecture-"
-"écriture complète - Ici se trouvent les dragons!! Activer seulement si vous "
+"écriture complète - Ici se trouvent les dragons !! Activer seulement si vous "
"êtes à l'aise avec la restauration de votre Kobo aux paramètres par défauts "
"et le test de logiciel. Ce pilote supporte le micrologiciel v2.0.x et la DB "
"jusqu'à la version "
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr "Titre à tester lors du débogage"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -2106,55 +2145,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Communique avec le Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Communique avec le Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Communique avec le VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Communique avec le GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Communique avec l’Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Communique avec le Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Communique avec le Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Communiquer avec le lecteur EEE"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr "Communique avec la tablette adam"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Communique avec la liseuse Nextbook"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr "Communique avec la liseuse Moovybook"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr "Communique avec le COBY"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr "Communique avec le Ex124G"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2282,7 +2321,7 @@ msgstr "Le Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Communique avec la liseuse électronique Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr "Communique avec les liseuses numériques Nook Color, TSR et Tablet."
@@ -2859,7 +2898,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "Espace libre insuffisant sur la carte mémoire"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Rendu de %s"
@@ -3282,11 +3321,11 @@ msgstr ""
"seulement si vous savez ce que vous faites, car il peut en résulter des "
"effets de bords dérangeant pour le reste du processus de conversion."
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "Fichier CSS utilisé pour la sortie au lieu du fichier par défaut"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3294,7 +3333,7 @@ msgstr ""
"Modèle utilisé pour la génération du fichier d’index html au lieu du fichier "
"par défaut"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3302,7 +3341,7 @@ msgstr ""
"Modèle utilisé pour la génération du contenu html du livre au lieu du "
"fichier par défaut"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3590,8 +3629,8 @@ msgid ""
"This does not override the unit for margins!"
msgstr ""
"L'unité de mesure pour la taille des pages. L'unité par défaut est le pouce "
-"(inch). Les choix possibles sont %s Note : Ce choix ne surcharge pas celui "
-"fait pour les marges !"
+"(inch). Les choix possibles sont %s Note : Ce choix ne surcharge pas celui "
+"fait pour les marges !"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:63
#, python-format
@@ -3672,20 +3711,23 @@ msgstr ""
"préalablement à cette option."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
msgstr ""
-"Rajoute un modèle HTML pour générer un pied de page sur chaque page. La "
-"chaîne de caractères _PAGENUM_ sera remplacée par le numéro de page courant."
+"Un modèle HTML utilisé pour générer %s sur chaque page. Les chaînes "
+"_PAGENUM_, _TITLE_, _AUTHOR_ et _SECTION_ seront remplacées par leur valeur "
+"courante."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
+msgstr "Pieds de pages"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
-msgstr ""
-"Un modèle HTML utilisé pour générer une en-tête sur chaque page. La chaîne "
-"de caractères _PAGENUM_ sera remplacée par le numéro de page courant."
+msgid "headers"
+msgstr "En-têtes"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
msgid ""
@@ -4967,7 +5009,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Définit l’ID du livre"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4994,27 +5036,27 @@ msgstr "Non"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Titre"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Auteur(s)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Éditeur"
@@ -5050,13 +5092,14 @@ msgstr "Commentaires"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Etiquettes"
@@ -5065,9 +5108,10 @@ msgstr "Etiquettes"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -5077,7 +5121,7 @@ msgstr[0] "Série"
msgstr[1] "Séries"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -5089,8 +5133,8 @@ msgstr "Horodatage"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Publié"
@@ -5233,62 +5277,62 @@ msgstr ""
"Récupère les métadonnées sociales/la couverture du livre identifié par ISBN "
"à partir de LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Couverture"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr "Télécharge les métadonnées et les couvertures à partir d’Amazon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "US"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "France"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Allemagne"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "RU"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr "Italie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr "Japon"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr "Espagne"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr "Brésil"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr "Site Amazon à utiliser:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
"Les métadonnées d’Amazon seront récupérées en utilisant ce site web Amazon "
"du pays.."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "Amazon : délai de connexion dépassé. Veuillez réessayer plus tard."
@@ -5296,6 +5340,26 @@ msgstr "Amazon : délai de connexion dépassé. Veuillez réessayer plus tard."
msgid "Metadata source"
msgstr "Source de métadonnées"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+"Télécharge plusieurs jaquettes de livres depuis Amazon. Utile pour trouver "
+"des jaquettes alternatives."
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr "Nombre maximal de jaquettes à obtenir"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
@@ -5304,7 +5368,7 @@ msgstr ""
"Télécharge les métadonnées et les couvertures à partir de Douban.com. Utile "
"seulement pour les livres en langue chinoise."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -5317,6 +5381,47 @@ msgid "Downloads metadata and covers from Google Books"
msgstr ""
"Télécharge les métadonnées et les couvertures à partir de Google Books"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr "Taille de la jaquette"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Large"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr "Plus grand que %s"
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Télécharge les métadonnées à partir d’isbndb.com"
@@ -5392,12 +5497,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "C’est un livre Amazon Topaz. Il ne peut pas être traité."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr "Ceci n'est pas un fichier MOBI. C'est un fichier Topaz."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr "Ceci n'est pas un fichier MOBI."
@@ -5424,79 +5529,79 @@ msgid ""
msgstr ""
"Ce fichier mobile contient des données aux formats KF8 et MOBI 6. Le "
"modifier effacera les données MOBI 6, ce qui signifie que le fichier ne sera "
-"pas utilisable sur les anciens Kindles. Êtes-vous sûr ?"
+"pas utilisable sur les anciens Kindles. Êtes-vous sûr ?"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer2/indexer.py:464
msgid "No details available"
msgstr "Pas de détail disponible"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Table des matières"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Page de titre"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Index"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glossaire"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Remerciements"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliographie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Marque de l’imprimeur"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Copyright"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Dédicace"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epigraphe"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Avant-propos"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Liste d’illustrations"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Liste des tables"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Notes"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Préface"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Texte principal"
@@ -5505,7 +5610,7 @@ msgstr "Texte principal"
msgid "%s format books are not supported"
msgstr "Les livres au format %s ne sont pas pris en charge"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
@@ -5516,7 +5621,7 @@ msgstr ""
"des livres au format KF8. Les fichiers MOBI plus anciens, sans KF8, ne sont "
"pas éditables."
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5544,12 +5649,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
@@ -6861,44 +6981,44 @@ msgstr ""
"êtresupprimés de votre librairie.
Les métadonnées du livre seront "
"conservés. Êtes-vous sûr?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Impossible d’effacer les livres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "Aucun appareil n’est connecté"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Mémoire principale"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Carte mémoire A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Carte mémoire B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Aucun livre à effacer"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Aucun des livres sélectionnés n’est sur l’appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Suppression des livres dans l’appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6906,22 +7026,19 @@ msgstr ""
"Certains des livres sélectionnés sont présents sur l’appareil connecté. A "
"partir d’où voulez-vous supprimer les fichiers?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"Les livres sélectionnés seront supprimés définitivement et les "
-"fichiers associés seront retirés de votre bibliothèque calibre. Êtes-vous "
-"certain?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Les livres sélectionnés seront effacés de manière permanente de votre "
-"appareil. Êtes-vous sûr de votre choix ?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6998,12 +7115,12 @@ msgstr ""
"des périphériques spéciaux, etc."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Arrêt en cours"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
"Arrêt en cours du serveur, cela peut prendre plus d’une minute, veuillez "
@@ -7019,7 +7136,7 @@ msgid ""
"calibre starts?"
msgstr ""
"Voulez-vous que les connexions de périphériques sans-fil démarrent "
-"automatiquement lorsque Calibre est lancé?"
+"automatiquement lorsque Calibre est lancé ?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:264
msgid "Still looking for IP addresses"
@@ -7093,8 +7210,8 @@ msgstr "Echec du téléchargement des métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Le téléchargement a échoué."
@@ -7138,7 +7255,7 @@ msgid "Download complete"
msgstr "Téléchargement terminé"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "Journal de Téléchargement"
@@ -7178,7 +7295,7 @@ msgid ""
"proceed?"
msgstr ""
"Vous allez fusionner plus de 5 livres. Êtes-vous sûr de vouloir "
-"lancer le traitement ?"
+"lancer le traitement ?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:343
#, python-format
@@ -7235,15 +7352,15 @@ msgstr ""
"permanente de votre bibliothèque calibre.
Êtes vous sûr de "
"vouloir continuer?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "Valide les modifications de métadonnées"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "Des échecs"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -7352,17 +7469,28 @@ msgstr "Polire %d livres"
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr "Jaquette de livre
%s"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr "&Sous-ensemble de toutes les polices incorporées"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "&Ponctuation arrangée"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr "À propos"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr "&Tout sélectionner"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr "Tout &désélectionner"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -7682,7 +7821,7 @@ msgid "Click the show details button to see which ones."
msgstr "Cliquer le bouton afficher les détails pour voir lesquels."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Afficher les détails du livre"
@@ -7789,7 +7928,7 @@ msgid "this book"
msgstr "ce livre"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Rechercher %s"
@@ -7801,17 +7940,17 @@ msgstr "Boutiques"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr "Choisir les boutiques"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr "Impossible de rechercher"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
@@ -7820,7 +7959,7 @@ msgstr ""
"recherchant pour vous dans les sites de diverses sources commerciales et du "
"domaine public."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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 "
@@ -7830,7 +7969,7 @@ msgstr ""
"magasin possède le livre que vous cherchez, au meilleur prix. Vous obtenez "
"aussi le statut DRM et d’autres informations utiles."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7847,11 +7986,11 @@ msgstr ""
"si le livre a des GDN "
"(DRM)."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr "Afficher ce message à nouveau"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr "A propos d’ Obtenir des Livres"
@@ -8119,7 +8258,7 @@ msgstr ""
"Vous essayer d’ouvrir %d livres. Ouvrir trop de livres en même temps peut "
"provoquer des ralentissements et avoir des effets négatifs sur les temps de "
"réponses de l’ordinateur. Une fois démarré le processus ne peut pas être "
-"arrêté avant la fin. Voulez-vous continuer ?"
+"arrêté avant la fin. Voulez-vous continuer ?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182
msgid "Cannot open folder"
@@ -8155,7 +8294,7 @@ msgid "The specified directory could not be processed."
msgstr "Le chemin spécifié ne peut pas être traité."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Aucun livre"
@@ -8384,7 +8523,7 @@ msgid "Click to open"
msgstr "Cliquer pour ouvrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr "Ids"
@@ -8394,7 +8533,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr "Livre %(sidx)s de %(series)s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Collections"
@@ -8428,16 +8567,25 @@ msgstr "Chemin"
msgid "Cover size: %(width)d x %(height)d"
msgstr "Taille de la couverture:%(width)d x %(height)d"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr "Supprimer le format %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr "Sauvegarder le format %s sur le disque"
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "Options de BibTeX"
@@ -8505,7 +8653,7 @@ msgstr "sortie"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8672,12 +8820,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:981
#, python-format
msgid "Are you sure you want to delete '%s'?"
-msgstr "Êtes-vous sûr de vouloir supprimer '%s' ?"
+msgstr "Êtes-vous sûr de vouloir supprimer « %s » ?"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:983
#, python-format
msgid "Are you sure you want to delete rules #%(first)d-%(last)d?"
-msgstr "Etes-vous sûr de vouloir supprimer les règles #%(first)d-%(last)d ?"
+msgstr "Êtes-vous sûr de vouloir supprimer les règles #%(first)d-%(last)d ?"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:984
msgid "Delete Rule"
@@ -8698,7 +8846,7 @@ msgstr "Vrai"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Nom"
@@ -9050,8 +9198,8 @@ msgid "Style the selected text block"
msgstr "Appliquer le style au bloc de texte sélectionné"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normale"
@@ -10039,7 +10187,7 @@ msgstr "Pas d’&Images"
msgid "PDF Output"
msgstr "Sortie PDF"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
@@ -10049,52 +10197,56 @@ msgstr ""
"que si vous cochez la case \"Supplanter\" ci-dessous. Dans le cas contraire, "
"la taille du profil de sortie sera utilisée."
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr "&Supplanter la taille du papier définie dans le profile de sortie"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "Taille du &Papier :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr "&Taille personnalisée"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr "&Unité :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Conserver les &proportions de la couverture"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr "Rajoute le &numéro de page à chaque fin de page"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Famille Se&rif :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "Famille &Sans :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "Famille &Monospace :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "Police s&tandard :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr "Taille de la police par défaut"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -10106,14 +10258,30 @@ msgstr "Taille de la police par défaut"
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Taille de la &police Monospace :"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
-msgstr "Rajoute le &numéro de page à chaque fin de page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
msgid "PMLZ Output"
@@ -10379,6 +10547,10 @@ msgstr ""
"cliquer sur le bouton Ajouter pour l'ajouter à la liste des expressions "
"régulières."
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Convertir"
@@ -10820,7 +10992,7 @@ msgid ""
"discard or apply these changes. Apply changes?"
msgstr ""
"Vous avez modifié les valeurs. Pour utiliser cet éditeur, vous devez soit "
-"annuler soit appliquer ces changements. Appliquer les changements ?"
+"annuler soit appliquer ces changements. Appliquer les changements ?"
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:374
msgid " index:"
@@ -10972,7 +11144,7 @@ msgstr "Erreur pendant la communication avec le lecteur électronique"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:860
#, python-format
msgid "Manage the %s?"
-msgstr "Gérer le %s ?"
+msgstr "Gérer le %s ?"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:861
#, python-format
@@ -10980,7 +11152,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr "Le %s a été détecté. Voulez-vous qu'il soit géré par Calibre?"
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Pas de format convenable"
@@ -11030,68 +11202,68 @@ msgstr "Appareil : "
msgid " detected."
msgstr " detecté."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "sélectionné pour l’envoi"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Aucun appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr "Aucun périphérique connecté"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr "%(num)i sur %(total)i Livres"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "Livre 0 de %i"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Choisir le format à envoyer au lecteur"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Impossible d’envoyer : Aucun appareil n’est connecté"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Aucune carte"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Impossible d’envoyer : L’appareil n’a pas de carte mémoire"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"Convertir automatiquement les livres suivants avant de les télécharger dans "
-"l’appareil ?"
+"l’appareil ?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Envoie les catalogues vers l’appareil."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Envoie les informations vers l’appareil."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Envoie les livres dans l’appareil."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -11100,18 +11272,18 @@ msgstr ""
"convenable n’a été trouvé. Convertissez avant le(s) livre(s) vers un format "
"pris en charge par votre appareil."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Le lecteur électronique n’a plus d’espace mémoire disponible"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -15108,19 +15287,19 @@ msgstr ""
"commentaires, etc.
Les mots séparés par des espaces sont traités avec "
"des AND (et)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Go!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Lancer une recherche rapide (vous pouvez aussi appuyer sur Enter)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Réinitialisation de la recherche rapide"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
"Copier le texte de recherche courant (au lieu du nom de la recherche)"
@@ -15134,32 +15313,32 @@ msgstr "étoiles"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "Dans l’appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Taille (Mo)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr "Modifié"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "Le nom recherché/consulté est \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "L'UUID de ce livre est \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -15170,32 +15349,32 @@ msgstr ""
"Impossible de changer l’emplacement du livre sur le disque. Est-il ouvert "
"dans un autre programme?"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr "Échec de la mise en place des données"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
"Échec de la mise en place des données, cliquer sur Afficher les détails pour "
"voir pourquoi."
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "Dans la bibliothèque"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Taille"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Marqué pour suppression"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Double clic pour m’ éditer
"
@@ -15302,7 +15481,7 @@ msgid "Previous Page"
msgstr "Page précédente"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -15424,7 +15603,7 @@ msgid ""
"successful. If you say No, a new empty calibre library will be created."
msgstr ""
"La base de données de votre bibliothèque %s semble être corrompue. Voulez "
-"vous que calibre tente de la reconstruire automatiquement? Cette "
+"vous que calibre tente de la reconstruire automatiquement ? Cette "
"reconstruction peut partiellement échouer. Si vous cliquer sur Non, une "
"nouvelle base de données de votre bibliothèque calibre sera crée."
@@ -15855,7 +16034,7 @@ msgid "Edit Metadata"
msgstr "Éditer les métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -16012,15 +16191,15 @@ msgstr "&Commentaires"
msgid "Basic metadata"
msgstr "Métadonnées basiques"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr "Possède une couverture"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr "Possède un résumé"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -16034,29 +16213,29 @@ msgstr ""
"une couverture dans l’étape de téléchargement\n"
"de couverture, et vice versa."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr "Voir à"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr "calibre télécharge les métadonnées à partir de : "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr "Veuillez patienter"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr "Requête : "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Le téléchargement des métadonnées a échoué. Cliquer Afficher Détails pour "
"voir les détails"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -16068,42 +16247,46 @@ msgstr ""
"le nom de famille de l'auteur et un unique mot distinctif du titre.Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-" communique avec l’appareil!
\n"
+" communique avec l’appareil !
\n"
" Quitter peut provoquer des corruptions dans "
"l’appareil.
\n"
-" Êtes-vous sûr de vouloir quitter ?"
+" Êtes-vous sûr de vouloir quitter ?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Travaux actifs"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -21248,29 +21622,29 @@ msgstr "Taille de police par défaut"
msgid "S&earch Google for '%s'"
msgstr "Ch&ercher sur Google %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr "Zoom &avant"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr "Zoom a&rrière"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr "Enregi&strer sous"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr "&Rotation"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr "Choisissez un fichier dans lequel enregistrer"
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr "Voir l'Image : %s"
@@ -21872,7 +22246,7 @@ msgid ""
"This will display your email password on the screen. Is it OK to proceed?"
msgstr ""
"Ceci affichera votre mot de passe de courriel à l’écran. Voulez-vous "
-"continuer ?"
+"continuer ?"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:199
msgid ""
@@ -22700,8 +23074,8 @@ msgid ""
"changed. Use with care, as it can lead to database corruption!"
msgstr ""
"Désactive la notification dans l'interface utilisateur (si active) "
-"concernant une modification de la base de données. A utiliser avec "
-"précaution car cela peut provoquer une corruption de la base !"
+"concernant une modification de la base de données. À utiliser avec "
+"précaution car cela peut provoquer une corruption de la base !"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:149
msgid ""
@@ -22754,8 +23128,8 @@ msgstr ""
"la requête de recherche, veuillez consulter la section recherche dans le "
"manuel utilisateur. Par défaut n’effectue aucun filtrage"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -22763,11 +23137,11 @@ msgstr ""
"Largeur maximum pour une seule ligne en sortie. Par défaut détecte la taille "
"de l’écran."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "La chaîne utilisée pour séparer des champs. Par défaut : un espace"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -22775,15 +23149,15 @@ msgstr ""
"Préfixe de tous les répertoires. Par défaut : chemin absolu du dossier de la "
"bibliothèque."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Champs incorrects. Champs disponibles :"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Champ de tri incorrect. Champs disponibles :"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -22791,13 +23165,13 @@ msgstr ""
"Les livres suivants ne seront pas ajoutés car ils existent déjà dans la base "
"de données (voir l’option --duplicates) :"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr "Ajouter les ids de livre : %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -22811,7 +23185,7 @@ msgstr ""
"Vous pouvez aussi spécifier des répertoires, voir les options décrivant les "
"répertoires ci-dessous.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -22819,11 +23193,11 @@ msgstr ""
"Supposer que chaque répertoire dispose d’un livre logique et que tous les "
"fichiers dans celui-ci sont des formats différents de ce même livre."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Traite les répertoires récursivement"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -22831,43 +23205,43 @@ msgstr ""
"Ajouter les livres dans la base de données même s’ils existent déjà. La "
"comparaison est basée sur les titres des livres numériques."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Ajouter un livre vide (un livre sans format)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr "Définir le titre du(es) livre(s) ajouté(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr "Définissez les auteurs du(es) livre(s) ajouté(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr "Définir l'ISBN du(es) livre(s) ajouté(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr "Définir les étiquettes du(es) livre(s) ajouté(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr "Définir les séries du(es) livre(s) ajouté(s)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr "Assigne le numéro de la série de(s) livre(s) ajoutés"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr "Chemin à utiliser pour la couverture du livre ajouté"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Vous devez spécifier au moins un fichier à ajouter"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -22885,33 +23259,38 @@ msgstr ""
"Par exemple, 23,34,57-85 (quand un intervalle est précisé, le dernier nombre "
"dans l’intervalle n’est pas inclus).\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Vous devez spécifier au moins un fichier à supprimer"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [options] id fichier_livre\n"
-"\n"
-"Ajouter le livre dans fichier_livre aux formats disponibles pour le livre "
-"logique identifié par id. Vous pouvez obtenir l’identifiant à l’aide de la "
-"commande list. Si le format existe déjà, il sera remplacé.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Veuillez indiquer un identifiant et un fichier de livre numérique"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "Les fichiers de livre numérique doivent avoir une extension"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -22928,11 +23307,11 @@ msgstr ""
"extension de fichier comme LRF, TXT ou EPUB. Si le fichier logique n’a pas "
"de format fmt disponible, n’effectue aucune action.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Vous devez spécifier un identifiant et un format"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -22948,15 +23327,15 @@ msgstr ""
"livre identifié par id.\n"
"id est un identifiant obtenu à l’aide de la commande list.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Imprimer les métadonnées dans un formulaire OPF (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Vous devez spécifier un identifiant"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -22983,7 +23362,7 @@ msgstr ""
"individuels\n"
"avec l'option --field.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -23001,41 +23380,41 @@ msgstr ""
"syntaxe est {0} {2}. Pour les champs booléens (oui/non), utilisez \"true\" "
"(vrai) ou \"false\" (faux) ou \"yes\" (oui) et \"no\" (non)."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
"Lister les champs de métadonnées pouvant être utilisés avec l'option --field"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr "Nom du champ"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr "Vous devez spécifier une id d'enregistrement comme premier argument"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr "Vous devez spécifier soit un champ, soit un fichier opf"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr "Le fichier OPF %s n'existe pas"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr "%s n'est pas un champ connu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -23054,29 +23433,29 @@ msgstr ""
"un fichier opf). Vous pouvez obtenir les numéros id à partir de la commande "
"list.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Exporter tous les livres dans la base, ignorer la liste des identifiants"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr "Exporter les livres vers le répertoire spécifié. Par défaut"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Exporter les livres vers un seul répertoire"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Spécifier cette bascule desactivera ce comportement."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Vous devez spécifier des identifiants ou l’option %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -23094,7 +23473,7 @@ msgstr ""
"colonne pour l’utilisateur.\n"
"datatype est à choisir parmi : {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -23103,7 +23482,7 @@ msgstr ""
"valeurs multiples séparées par des virgules). Appliqué seulement si le type "
"de donnée est du texte."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -23141,11 +23520,11 @@ msgstr ""
"fichier OPF ait été créé depuis l'ajout de la colonne). Vous verrez le JSON "
"pour l'\"affichage\" de la nouvelle colonne dans l'OPF."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Vous devez spécifier un libellé, un nom et un type de donnée"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -23164,7 +23543,7 @@ msgstr ""
"la sortie catalogue générée.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -23175,7 +23554,7 @@ msgstr ""
"Si déclaré, --search est ignoré.\n"
"Par défaut : all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -23186,16 +23565,16 @@ msgstr ""
"Utilisateur.\n"
"Par défaut: Pas de filtre"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr "Affiche des informations détaillées. Utile pour le débogage"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Erreur : Vous devez spécifier un fichier de sortie pour le catalogue"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -23216,7 +23595,7 @@ msgstr ""
"utilisant la commande custom_columns.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -23224,11 +23603,11 @@ msgstr ""
"Si la colonne stocke des valeurs multiples, ajouter les valeurs spécifiées à "
"celles existantes, au lieu de les remplacer."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Erreur : Vous devez spécifier un nom, identifiant et valeur de champ"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -23243,27 +23622,27 @@ msgstr ""
"colonne et les identifiants.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Afficher les détails pour chaque colonne."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "y"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -23280,15 +23659,15 @@ msgstr ""
" les colonnes disponibles avec la commande custom_columns.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Ne pas demander de confirmation"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Erreur : Vous devez spécifier un libellé de colonne"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -23310,43 +23689,43 @@ msgstr ""
" remplacée.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
"Erreur : vous devez préciser l’action à effectuer (ajouter|supprimer|lister)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Nom :"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Chaîne de recherche :"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Erreur : vous devez fournir un nom et une chaîne de recherche"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "ajouté(e)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Erreur : vous devez fournir un nom"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "supprimé(e)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
"Erreur : l’action %s n’est pas reconnue, celle-ci doit faire partie de : "
"(ajouter|supprimer|lister)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -23373,7 +23752,7 @@ msgstr ""
"sont mis à jour\n"
"automatiquement, chaque fois que les métadonnées sont changées.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
@@ -23381,7 +23760,7 @@ msgstr ""
"Normalement, cette commande opère seulement sur les livres qui ont des "
"fichiers OPF périmés. Cette option la fait opérer sur tous les livres."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -23393,12 +23772,12 @@ msgstr ""
"Réalise des vérifications sur le système de fichiers représentant une "
"bibliothèque. Les rapports sont {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Sortie en CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -23406,7 +23785,7 @@ msgstr ""
"Liste de rapports séparés par des virgules.\n"
"Par défaut : tous"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -23414,7 +23793,7 @@ msgstr ""
"Liste d’extensions à ignorer séparées par des virgules.\n"
"Par défaut : toutes"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -23422,11 +23801,11 @@ msgstr ""
"Liste de noms à ignorer séparés par des virgules.\n"
"Par défaut : tous"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Rapport de vérification inconnu"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -23456,7 +23835,7 @@ msgstr ""
"les fichiers OPF.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -23464,13 +23843,13 @@ msgstr ""
"Effectuer réellement la récupération. La commande ne sera pas exécuté si "
"cette option n’est pas spécifiée."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
"Vous devez fournir l’option %s pour pouvoir effectuer une restauration"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -23484,7 +23863,7 @@ msgstr ""
"Les informations sont les équivalents de ce qui est affiché dans le panneau "
"des étiquettes.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -23492,7 +23871,7 @@ msgstr ""
"Sort seulement le nombre d’articles dans une catégorie au lieu du nombre "
"d’occurences par article à l’intérieur de la catégorie"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -23500,7 +23879,7 @@ msgstr ""
"Le caractère à mettre autour de la valeur de la catégorie dans le mode CSV. "
"Des guillemets (\") constituent le défaut."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -23508,17 +23887,17 @@ msgstr ""
"Liste de catégories de noms de recherche séparées par des virgules.\n"
"Par défaut: tous"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"La chaîne utilisée pour séparer les champs en mode CSV. Par défaut une "
"virgule."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "CATEGORIES D’ARTICLES"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -23552,31 +23931,22 @@ msgstr ""
"L’étiquette ne doit contenir que des minuscules, des chiffres et des "
"underscores (tirets bas), et commencer par une lettre"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr "préférences restaurées "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "crée des colonnes personnalisées "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr " (%s livres)"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1886,7 +1925,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1895,11 +1934,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1919,55 +1958,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2092,7 +2131,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2573,7 +2612,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2882,23 +2921,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3186,15 +3225,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4145,7 +4188,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4169,27 +4212,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4225,13 +4268,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4240,9 +4284,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4252,7 +4297,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4264,8 +4309,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4377,60 +4422,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4438,13 +4483,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4454,6 +4517,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4513,12 +4617,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4545,72 +4649,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4619,14 +4723,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4651,12 +4755,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5984,12 +6108,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6073,8 +6197,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6110,7 +6234,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6180,15 +6304,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6293,17 +6417,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6607,7 +6753,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6712,7 +6858,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6724,30 +6870,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6757,11 +6903,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7025,7 +7171,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7235,7 +7381,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7245,7 +7391,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7279,16 +7425,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7356,7 +7511,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7542,7 +7697,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7882,8 +8037,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8799,59 +8954,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8863,13 +9022,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9107,6 +9282,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9673,7 +9852,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9719,81 +9898,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13367,32 +13553,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13401,30 +13587,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13529,7 +13715,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14027,7 +14213,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14172,15 +14358,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14188,27 +14374,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14216,38 +14402,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14388,7 +14580,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14431,34 +14624,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14507,12 +14700,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15425,10 +15618,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15446,7 +15635,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16414,20 +16603,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16460,18 +16649,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16846,83 +17035,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18701,29 +19096,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19971,44 +20366,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20017,59 +20412,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20080,28 +20475,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20111,11 +20516,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20125,15 +20530,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20148,7 +20553,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20158,40 +20563,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20202,28 +20607,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20234,13 +20639,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20260,11 +20665,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20275,30 +20680,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20310,17 +20715,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20329,27 +20734,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20359,15 +20764,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20380,40 +20785,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20427,13 +20832,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20441,34 +20846,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20483,18 +20888,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20502,33 +20907,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20551,31 +20956,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1837,7 +1876,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1846,11 +1885,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1870,55 +1909,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2043,7 +2082,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2524,7 +2563,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2833,23 +2872,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3137,15 +3176,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4096,7 +4139,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4120,27 +4163,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4176,13 +4219,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4191,9 +4235,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4203,7 +4248,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4215,8 +4260,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4328,60 +4373,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4389,13 +4434,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4405,6 +4468,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4464,12 +4568,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4496,72 +4600,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4570,14 +4674,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4602,12 +4706,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5935,12 +6059,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6024,8 +6148,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6061,7 +6185,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6131,15 +6255,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6244,17 +6368,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6558,7 +6704,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6663,7 +6809,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6675,30 +6821,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6708,11 +6854,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6976,7 +7122,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7186,7 +7332,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7196,7 +7342,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7230,16 +7376,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7307,7 +7462,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7493,7 +7648,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7833,8 +7988,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8750,59 +8905,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8814,13 +8973,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9058,6 +9233,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9624,7 +9803,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9670,81 +9849,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13318,32 +13504,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13352,30 +13538,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13480,7 +13666,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13978,7 +14164,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14123,15 +14309,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14139,27 +14325,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14167,38 +14353,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14339,7 +14531,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14382,34 +14575,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14458,12 +14651,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15376,10 +15569,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15397,7 +15586,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16365,20 +16554,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16411,18 +16600,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16797,83 +16986,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18652,29 +19047,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19922,44 +20317,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19968,59 +20363,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20031,28 +20426,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20062,11 +20467,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20076,15 +20481,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20099,7 +20504,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20109,40 +20514,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20153,28 +20558,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20185,13 +20590,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20211,11 +20616,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20226,30 +20631,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20261,17 +20666,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20280,27 +20685,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20310,15 +20715,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20331,40 +20736,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20378,13 +20783,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20392,34 +20797,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20434,18 +20839,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20453,33 +20858,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20502,31 +20907,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr "Crear estantes"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr "Eliminar estantes baldeiros"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr "Subir portadas pra os libros"
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1950,7 +2007,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1959,11 +2016,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1983,55 +2040,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr "Comunicar co lector Sweex/Kogan/Q600/Wink"
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "Comunicar co Pandigital Novel"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "Comunicar con VelocityMono"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "Comunicar co GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr "Comunicar co Acer Lumiread"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr "Comunicar co lector Aluratek Color"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr "Comunicar co lector Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr "Comunicarse co EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr "Comunicarse co Nextbook Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2108,7 +2165,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:482
#, python-format
msgid "Removed %s"
-msgstr ""
+msgstr "Retirouse %s"
#: /home/kovid/work/calibre/src/calibre/devices/mtp/driver.py:484
msgid "All books removed"
@@ -2156,7 +2213,7 @@ msgstr "O Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "Comunicar co lector de libro electrónico Nook."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2343,7 +2400,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:286
msgid "Port number: "
-msgstr ""
+msgstr "Número do porto: "
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:287
msgid ""
@@ -2367,7 +2424,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:293
msgid "Possibilities include: series, tags, authors, etc"
-msgstr ""
+msgstr "As posibilidades inclúen: coleccións, etiquetas, autores, etc"
#: /home/kovid/work/calibre/src/calibre/devices/smart_device_app/driver.py:301
msgid "Enable the no-activity timeout"
@@ -2664,7 +2721,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "O espazo libre na tarxeta de memoria é insuficiente"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "Renderizado %s"
@@ -3059,11 +3116,11 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr "CSS utilizado para a saída en vez do ficheiro predeterminado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
@@ -3071,7 +3128,7 @@ msgstr ""
"Modelo usado para a xeración do ficheiro de html index en lugar do ficheiro "
"predeterminado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
@@ -3079,7 +3136,7 @@ msgstr ""
"Modelo usado para a xeración dos contidos de html do libro en lugar do "
"predeterminado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3396,16 +3453,20 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
-msgstr ""
+msgid "headers"
+msgstr "cabeceiras"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
msgid ""
@@ -4118,12 +4179,12 @@ msgstr "Definir o/a editor/a do libro."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:542
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60
msgid "Set the series this ebook belongs to."
-msgstr "Estabelecer a serie á que pertence o libro."
+msgstr "Estabelecer a colección á que pertence o libro."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:546
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62
msgid "Set the index of the book in this series."
-msgstr "Estabelecer a posición que ocupa o libro na súa serie."
+msgstr "Estabelecer a posición que ocupa o libro nesta colección."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:550
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64
@@ -4288,7 +4349,7 @@ msgstr "No se puido atopar un libro dentro do ficheiro ficheiro"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:834
msgid "Values of series index and rating must be numbers. Ignoring"
-msgstr "O índice na serie e a valoración deben ser números. Ignóranse"
+msgstr "O índice da colección e a valoración deben ser números. Ignóranse"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:841
msgid "Failed to parse date/time"
@@ -4305,7 +4366,7 @@ msgstr "Aplicando transformacións ao libro electrónico..."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1153
#, python-format
msgid "Running %s plugin"
-msgstr ""
+msgstr "A executar o engadido %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:18
msgid ""
@@ -4322,6 +4383,8 @@ msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"cp1251, latin1 and utf-8."
msgstr ""
+"Codificación de caracteres dos ficheiros HTML de entrada. As escollas máis "
+"frecuentes inclúen: cp1252, cp1251, latin1 e utf-8."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:91
msgid "Add linked files in breadth first order"
@@ -4368,7 +4431,7 @@ msgstr "\tConvertendo a BBeB..."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:551
#, python-format
msgid "Could not parse file: %s"
-msgstr "Non foi posíbel analizarr o ficheiro: %s"
+msgstr "Non foi posíbel analizar o ficheiro: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:543
#, python-format
@@ -4383,7 +4446,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609
#, python-format
msgid "Cannot add link %s to TOC"
-msgstr "Non foi posíbel engadir a ligazón %s a TOC"
+msgstr "Non foi posíbel engadir a ligazón %s ao índice"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959
#, python-format
@@ -4459,7 +4522,7 @@ msgstr "LRS gardado en "
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267
msgid "Could not read from thumbnail file:"
-msgstr "Non se puido ler o ficheiro da miniatura:"
+msgstr "Non foi posíbel ler o ficheiro da miniatura:"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287
msgid ""
@@ -4561,7 +4624,7 @@ msgstr ""
msgid "Set book ID"
msgstr "Definir o ID do libro"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4587,27 +4650,27 @@ msgstr "Non"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "Título"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autores/as"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr "Editor/a"
@@ -4643,13 +4706,14 @@ msgstr "Comentarios"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "Etiquetas"
@@ -4658,23 +4722,24 @@ msgstr "Etiquetas"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
msgid "Series"
msgid_plural "Series"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Serie"
+msgstr[1] "Series"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
-msgstr ""
+msgstr "Linguas"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:780
msgid "Timestamp"
@@ -4682,8 +4747,8 @@ msgstr "Marca de tempo"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "Publicado"
@@ -4812,60 +4877,60 @@ msgstr ""
"Obtén metadatos sociais ou imaxes para o libro identificado polo ISBN a "
"través de LibraryThing.com\n"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr "Cuberta"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr "EE. UU."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr "Francia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr "Alemania"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr "GB"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
-msgstr ""
+msgstr "Italia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
-msgstr ""
+msgstr "Xapón"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
-msgid "Brazil"
-msgstr ""
+msgstr "España"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+msgid "Brazil"
+msgstr "Brasil"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr "O tempo de espera de Amazon expirou. Volva a tentalo máis tarde"
@@ -4873,13 +4938,31 @@ msgstr "O tempo de espera de Amazon expirou. Volva a tentalo máis tarde"
msgid "Metadata source"
msgstr "Orixe de metadatos"
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4889,6 +4972,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr "Grande"
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr "Descara os metadatos de isbndb.com"
@@ -4948,12 +5072,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr "Este é un libro Topaz de Amazon. Polo tanto, non se pode procesar."
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4980,72 +5104,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr "Índice de contidos"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr "Páxina de título"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr "Índice"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr "Glosario"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr "Agradecementos"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr "Bibliografia"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr "Colofón"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr "Dereitos de autor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr "Dedicatoria"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr "Epígrafe"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr "Prólogo"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr "Lista de ilustracións"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr "Lista de táboas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr "Notas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr "Prefacio"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr "Texto principal"
@@ -5054,14 +5178,14 @@ msgstr "Texto principal"
msgid "%s format books are not supported"
msgstr "O formato de libros %s non está admitido"
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -5086,12 +5210,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "Non é posíbel eliminar libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "Non hai ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "Memoria principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "Tarxeta de almacenaxe A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "Tarxeta de almacenaxe B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "Ningún libro para eliminar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "Ningún dos libros seleccionados se atopan no dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "Eliminando libros do dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -6379,21 +6521,19 @@ msgstr ""
"Algúns dos libros seleccionados están no dispositivo conectado. De "
"onde quere borrar os libros seleccionados?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-"O libros seleccionados serán eliminados permanentemente e os "
-"ficheiros retirados da súa biblioteca do Calibre. Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
-"Os libros seleccionados eliminaranse permanentemente do dispositivo. "
-"Ten a certeza de continuar?"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6468,12 +6608,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "Dentendo"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr "Detendo o servidor, isto pode levar ata un minuto, agarde..."
@@ -6559,8 +6699,8 @@ msgstr "Produciuse un fallo ao descargar os metadatos"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "Produciuse un fallo na descarga"
@@ -6593,10 +6733,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
msgid "Download complete"
-msgstr ""
+msgstr "Completouse a descarga"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6679,15 +6819,15 @@ msgstr ""
"permanentemento da biblioteca do Calibre.
Esta seguro de que "
"quere proceder?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6792,17 +6932,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr "Corrixir a &puntuación"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
-msgstr ""
+msgstr "Sobre"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
-msgstr ""
+msgstr "&Gardar a configuración"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
-msgstr ""
+msgstr "&Escoller todo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
-msgstr ""
+msgstr "&Non escoller nada"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
-msgstr ""
+msgstr " e "
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
-msgstr ""
+msgstr "P"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -7009,7 +7171,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:208
msgid "Run welcome wizard"
-msgstr "Lanzar o asistente de benvida"
+msgstr "Executar o asistente de benvida"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:31
msgid "Get plugins to enhance calibre"
@@ -7034,7 +7196,7 @@ msgstr "Ctrl+R"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14
msgid "Restart"
-msgstr ""
+msgstr "Reiniciar"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:20
msgid "Save to disk"
@@ -7109,7 +7271,7 @@ msgid "Click the show details button to see which ones."
msgstr "Prema o botón de amosar detalles para velos."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr "Amosar os detalles do libro"
@@ -7131,7 +7293,7 @@ msgstr "Non hai dispoñíbel información detallada dos libros no dispositivo."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:16
msgid "Q"
-msgstr ""
+msgstr "Q"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:16
msgid "Show quickview"
@@ -7163,7 +7325,7 @@ msgstr "Libros coa mesma autoría"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
msgid "Books in this series"
-msgstr "Libros nesta serie"
+msgstr "Libros desta colección"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27
msgid "Alt+Shift+S"
@@ -7187,7 +7349,7 @@ msgstr "Libros coas mesmas etiquetas"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20
msgid "G"
-msgstr ""
+msgstr "G"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20
msgid "Get books"
@@ -7199,7 +7361,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:22
msgid "Search for ebooks"
-msgstr ""
+msgstr "Buscar libros electrónicos"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28
msgid "this author"
@@ -7214,7 +7376,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr "Buscar %s"
@@ -7226,30 +7388,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -7259,11 +7421,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7285,7 +7447,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63
msgid "K"
-msgstr ""
+msgstr "K"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:102
#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:113
@@ -7533,7 +7695,7 @@ msgid "The specified directory could not be processed."
msgstr "Non se puido procesar o directorio especificado."
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr "Sen libros"
@@ -7753,14 +7915,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:304
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:32
msgid "Donate"
-msgstr ""
+msgstr "Doar"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:156
msgid "Click to open"
msgstr "Prema para abrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7770,7 +7932,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr "Coleccións"
@@ -7804,16 +7966,25 @@ msgstr "Ruta"
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr "Opcións de BibTeX"
@@ -7881,7 +8052,7 @@ msgstr "saída"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -8067,7 +8238,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr "Nome"
@@ -8407,8 +8578,8 @@ msgid "Style the selected text block"
msgstr "Asignarlle estilo ao bloque de texto seleccionado"
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr "Normal"
@@ -9350,59 +9521,63 @@ msgstr "Sen &imaxes"
msgid "PDF Output"
msgstr "Saída PDF"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr "Tamaño de &papel"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr "Manter a &proporción da cuberta"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr "Tipo de letra s&erif:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr "Tipo de letra &Sans:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr "Tipo de letra &monoespzo:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr "Tipo de letra es&tándar:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -9414,13 +9589,29 @@ msgstr ""
msgid " px"
msgstr " px"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr "Tamaño de &letra Monoespazo:"
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9663,6 +9854,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr "Converter"
@@ -10248,7 +10443,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr "Non hai formatos axeitados"
@@ -10294,67 +10489,67 @@ msgstr "Dispositivo: "
msgid " detected."
msgstr " detectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr "seleccionado para enviar"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr "Sen dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr "0 de %i libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr "Elixa formato para enviar ao dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr "Non se pode enviar: non hai ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr "Sen tarxeta"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr "Non se pode enviar: o dispositivo non ten tarxeta de memoria"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
"Desexa converter os libros seguintes antes de os enviar ao dispositivo?"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr "Enviando catálogos ao dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr "Enviando novas ao dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr "Enviando libros ao dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
@@ -10363,18 +10558,18 @@ msgstr ""
"atoparon formatos compatíbeis. Converta o ou os libros a un formato "
"compatíbel co dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr "Non hai espazo no dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
@@ -14179,19 +14381,19 @@ msgstr ""
"comentarios etc.
Búscanse os libros que conteñan todas as palabras "
"separadas por espazos"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr "&Vai!"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr "Realizar unha busca rápida (tamén pode premer a tecla Intro)"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr "Restabelecer a busca rápida"
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr "Copiar o texto de busca actual (no canto do nome da busca)"
@@ -14204,32 +14406,32 @@ msgstr "estrelas"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr "No dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "Tamaño (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr "O nome de busca é «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr "O UUID deste libro é «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -14238,30 +14440,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr "Na biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr "Tamaño"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr "Marcado para eliminar"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr "Prema dúas veces para editar
"
@@ -14368,7 +14570,7 @@ msgid "Previous Page"
msgstr "Páxina anterior"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14891,7 +15093,7 @@ msgid "Edit Metadata"
msgstr "Modificar metadatos"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -15039,15 +15241,15 @@ msgstr "&Comentarios"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -15055,27 +15257,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -15083,38 +15285,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr "Descargando a cuberta..."
@@ -15290,7 +15498,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -15333,34 +15542,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr "Alto"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr "Baixo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr "Moi baixa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr "Predeterminado"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr "Restabelecéronse os diálogos de confirmación"
@@ -15413,18 +15622,15 @@ msgid "Job &priority:"
msgstr "&Prioridade nos traballos:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
-msgstr "Restrición a aplicar cando a biblioteca actual estea aberta:"
+msgid "Virtual library to apply when the current library is opened:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
-"Aplicar esta restrición ao iniciar o Calibre se se está a usar a biblioteca "
-"actual. Tamén se aplica cando se cambia a esta biblioteca. Teña en conta que "
-"esta configuración é individual para cada biblioteca. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170
msgid "Edit metadata (single) layout:"
@@ -16376,10 +16582,6 @@ msgstr ""
msgid "Small"
msgstr "Pequeno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr "Grande"
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr "Medio"
@@ -16397,7 +16599,7 @@ msgid "Never"
msgstr "Nunca"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr "Pola primeira letra"
@@ -17474,20 +17676,20 @@ msgstr ""
"dispositivos individuais mediante a personalización dos engadidos da "
"interface do dispositivo, en Preferencias->Avanzado->Engadidos"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr "Fallou ao iniciar o servidor de contido"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr "Rexistro de erros:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr "Rexistro de acceso:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr "Debe reiniciar o servidor para que os cambios teñan efecto"
@@ -17522,23 +17724,19 @@ msgid "Max. &OPDS items per query:"
msgstr "Número máximo de elementos &OPDS por consulta:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
-msgstr "Número máximo de elementos &OPDS desagrupados:"
+msgid "Max. &ungrouped items:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
-msgstr "Restrición (busca gardada) para aplicar:"
+msgid "Virtual library to apply:"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
-"Esta restrición (baseada nunha busca gardada) fai que o servidor de contido "
-"mostre unicamente os libros seleccionados par a busca. Esta configuración é "
-"independente para cada biblioteca, é dicir, pode ter unha restrición "
-"distinta para cada biblioteca."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
msgid ""
@@ -17998,84 +18196,234 @@ msgstr "Restabelecer valor pre&determinado"
msgid "Apply any changes you made to this tweak"
msgstr "Aplicar os cambios realizados neste axuste"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
"A busca seleccionada será eliminada permanentemente. Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "Busca (para buscas avanzadas faga clic no botón da esquerda)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr "Buscas gardadas"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr "Elixa unha busca gardada ou asigne un nome para gardar a nova busca"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "Restrinxir a"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
@@ -19333,11 +19737,11 @@ msgstr ""
"no dispositivo.
\n"
" Está seguro de que desexa saír?"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr "Tareas activas"
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -19894,29 +20298,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -21255,8 +21659,8 @@ msgstr ""
"busca, véxase a documentación relacionada no Manual de Usuario. O "
"predeterminado e non filtrar."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@@ -21264,11 +21668,11 @@ msgstr ""
"A lonxitude máxima das liñas na saída. De modo predeterminado tómase a "
"largura da pantalla."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr "O texto usado para separar campos. Por omisión é un espazo."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@@ -21276,15 +21680,15 @@ msgstr ""
"O prefixo para todas as rutas de ficheiros. Por omisión é a ruta absoluta do "
"cartafol da biblioteca."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr "Campos incorrectos. Campos dispoñíbeis:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr "Campo de ordenación incorrecto. Campos dispoñíbeis:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@@ -21292,13 +21696,13 @@ msgstr ""
"Os seguintes libros non foron engadidos xa que xa existen na base de datos "
"(vér a opción --duplicates)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -21312,7 +21716,7 @@ msgstr ""
"especificar cartafoles, vexa as opcións relacionadas con cartafoles a "
"seguir.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@@ -21320,11 +21724,11 @@ msgstr ""
"Asumir que cada cartafol ten un só libro e que todos os ficheiros do "
"cartafol son diferentes formatos do mesmo libro"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr "Procesar os cartafoles recursivamente"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@@ -21332,43 +21736,43 @@ msgstr ""
"Engadir os libros á base de datos aínda que xa existan. A comparación "
"realizase sobre o título dos libros."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr "Engadir libro en branco (sen formato)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr "Debe especificar polo menos un ficheiro para engadir"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -21379,33 +21783,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr "Debe especificar polo menos un libro para retirar"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
-"%prog add_format [opcións] id ebook_file\n"
-"\n"
-"Engade o libro a ebook_file aos formatos dispoñíbeis para o libro lóxico "
-"identificado polo id. Pode obter o id usando a orde de listar. Se o formato "
-"xa existe, substituirase.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr "Debe especificar un ID e un ficheiro de libro electrónico"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr "O ficheiro de libro electrónico debe ter unha extensión"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -21421,11 +21830,11 @@ msgstr ""
"usando a orde de listar. fmt debería ser un ficheiros coa extensión LRF ou "
"TXT ou EPUB. Se o libro lóxico non ten un fmt dispoñíbel, non facer nada.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr "Debe especificar un ID e un formato"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -21441,15 +21850,15 @@ msgstr ""
"identificado polo id.\n"
"O id é un número id da lista de ordes.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr "Imprimir os metadatos en formato OPF (XML)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr "Debe especificar un id"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -21464,7 +21873,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -21474,40 +21883,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -21525,31 +21934,31 @@ msgstr ""
"\n"
"ficheiro OPF. Pode obter os números id da lista de ordes.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Exportar todos os libros da base de datos, facendo caso omiso da lista de "
"identificacións."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
"Exportar os libros ao cartafol especificado. O valor predeterminado é"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr "Exportar todos os libros nun só cartafol"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr "Se se especifica esta opción desactivase este comportamento"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr "Debe especificar algún ID ou a opción %s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -21566,7 +21975,7 @@ msgstr ""
"conter espazos nin vírgulas. O 'nome' é o nome do campo que se amosará.\n"
"O 'tipo-de-dato' pode ser un dos seguintes: {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
@@ -21574,7 +21983,7 @@ msgstr ""
"Esta columna almacena datos de etiquetas (valores separados por comas). Só "
"se aplica se el tipo de dato é texto."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -21594,11 +22003,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr "Debe especificar unha etiqueta, nome e tipo de dato"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -21617,7 +22026,7 @@ msgstr ""
"saída.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
@@ -21627,7 +22036,7 @@ msgstr ""
"Cando se declare, ignorarase --search.\n"
"Valor predeterminado: todas"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
@@ -21637,16 +22046,16 @@ msgstr ""
"documentación relativa a buscas no Manual de usuario.\n"
"Valor predeterminado: sen filtrado"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr "Mostrar información de saída detallada. Útil para a depuración"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr "Erro: Debe especificar un ficheiro de saída para o catálogo"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -21667,7 +22076,7 @@ msgstr ""
"custom_columns.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
@@ -21675,11 +22084,11 @@ msgstr ""
"Se a columna almacena valores múltiplos, engadir os valores especificados "
"aos existentes no canto de substituílos."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr "Erro: Debe especificar un nome de campo, identificador e valor"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -21694,27 +22103,27 @@ msgstr ""
"columna e os seus id.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr "Mostrar detalles das columnas"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr "s"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -21730,15 +22139,15 @@ msgstr ""
" as columnas dispoñíbeis usando a orde custom_columns.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr "Non pedir confirmación"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr "Erro: Debe especificar unha etiqueta para a columna"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -21760,41 +22169,41 @@ msgstr ""
" substituída.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr "Erro: Debe especificar unha acción (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr "Nome:"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr "Cadea de busca"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr "Erro: Debe especificar un nome e a cadea de busca"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr "engadido"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr "Erro: Debe especificar un nome"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr "retirado"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
"Erro: Non se recoñece a acción %s, debe ser unha de: (add|remove|list)"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -21808,13 +22217,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -21826,12 +22235,12 @@ msgstr ""
"Realiza algunhas comprobacións no sistema de ficheiros que contén a "
"biblioteca. O resultado é {0}\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr "Saída en CSV"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
@@ -21839,7 +22248,7 @@ msgstr ""
"Lista de resultados separados por comas\n"
"Valor predeterminado: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
@@ -21847,7 +22256,7 @@ msgstr ""
"Lista de extensións para ignorar separadas por vírgulas.\n"
"Valor predeterminado: todas"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
@@ -21855,11 +22264,11 @@ msgstr ""
"Lista de nomes para ignorar separados por vírgulas.\n"
"Valor predeterminado: todas"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr "Comprobación de resultado descoñecida"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -21886,7 +22295,7 @@ msgstr ""
"recuperados serán tan precisos como o sexan os ficheiros OPF.\n"
" "
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
@@ -21894,12 +22303,12 @@ msgstr ""
"Facer a recuperación. Esta orde no se executará a menos que se especifique "
"esta opción."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr "Debe proporcionar a opción %s para facer unha recuperación"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -21911,7 +22320,7 @@ msgstr ""
"Xera un informe da información da categoría na base de datos. A\n"
"información é o equivalente ao que se amosa no panel de etiquetas.\n"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
@@ -21919,7 +22328,7 @@ msgstr ""
"Xerar na saída só o número de elementos nunha categoría en vez de cantas "
"veces aparece por elemento na categoría"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
@@ -21927,7 +22336,7 @@ msgstr ""
"O carácter que se porá arredor do valor da categoría en modo CSV. O "
"predeterminado son as dobres comiñas inglesas ('')."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
@@ -21935,17 +22344,17 @@ msgstr ""
"Lista separada por comas dos nomes das categorías a buscar.\n"
"Valor predeterminado: all"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
"A cadea que se usará para separar os campos no modo CSV. O predeterminado é "
"unha coma (,)."
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr "ELEMENTOS DE CATEGORÍAS"
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -21979,33 +22388,24 @@ msgstr ""
"A etiqueta só debe conter letras minúsculas, díxitos e guión baixo, e "
"comezar por unha letra"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr "creando columna personalizada "
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1834,7 +1873,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1843,11 +1882,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1867,55 +1906,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2040,7 +2079,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2521,7 +2560,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2830,23 +2869,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3134,15 +3173,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4093,7 +4136,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4117,27 +4160,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4173,13 +4216,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4188,9 +4232,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4200,7 +4245,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4212,8 +4257,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4325,60 +4370,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4386,13 +4431,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4402,6 +4465,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4461,12 +4565,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4493,72 +4597,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4567,14 +4671,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4599,12 +4703,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5932,12 +6056,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6021,8 +6145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6058,7 +6182,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6128,15 +6252,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6241,17 +6365,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6555,7 +6701,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6660,7 +6806,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6672,30 +6818,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6705,11 +6851,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -6973,7 +7119,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7183,7 +7329,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7193,7 +7339,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7227,16 +7373,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7304,7 +7459,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7490,7 +7645,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7830,8 +7985,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8747,59 +8902,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8811,13 +8970,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9055,6 +9230,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9621,7 +9800,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9667,81 +9846,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13315,32 +13501,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13349,30 +13535,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13477,7 +13663,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -13975,7 +14161,7 @@ msgid "Edit Metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14120,15 +14306,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14136,27 +14322,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14164,38 +14350,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14336,7 +14528,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14379,34 +14572,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14455,12 +14648,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15373,10 +15566,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15394,7 +15583,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16362,20 +16551,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16794,83 +16983,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18649,29 +19044,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19919,44 +20314,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -19965,59 +20360,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20028,28 +20423,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20059,11 +20464,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20073,15 +20478,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20096,7 +20501,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20106,40 +20511,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20150,28 +20555,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20182,13 +20587,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20208,11 +20613,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20223,30 +20628,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20258,17 +20663,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20277,27 +20682,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20307,15 +20712,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20328,40 +20733,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20375,13 +20780,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20389,34 +20794,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20431,18 +20836,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20450,33 +20855,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20499,31 +20904,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "
Notes: %(annotation)s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1877,7 +1916,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1886,11 +1925,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1910,55 +1949,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr "תקשר עם פאן דיגיטאל נובל"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr "תקשר עם ה-VelocityMicro"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr "תקשר עם GM2000"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2083,7 +2122,7 @@ msgstr "מכשיר ה-Nook"
msgid "Communicate with the Nook eBook reader."
msgstr "מתקשר עם Nook eBook reader."
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2567,7 +2606,7 @@ msgid "There is insufficient free space on the storage card"
msgstr "אין מספיק מקום פנוי על כרטיס הזכרון."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr "חובר %s"
@@ -2881,23 +2920,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3185,15 +3224,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4152,7 +4195,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4176,27 +4219,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr "כותרת"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr "מחבר/ים"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4232,13 +4275,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr "תוויות"
@@ -4247,9 +4291,10 @@ msgstr "תוויות"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4258,7 +4303,7 @@ msgid_plural "Series"
msgstr[0] "סדרות"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4270,8 +4315,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr "פורסם"
@@ -4383,60 +4428,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4444,13 +4489,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4460,6 +4523,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4519,12 +4623,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4551,72 +4655,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4625,14 +4729,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4657,12 +4761,12 @@ msgid ""
"\n"
"
The book metadata will be kept. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "אין מכשיר מחובר"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
@@ -5990,12 +6114,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr ""
@@ -6079,8 +6203,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr ""
@@ -6116,7 +6240,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr ""
@@ -6186,15 +6310,15 @@ msgid ""
"Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6299,17 +6423,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"Subsetting fonts
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:51
#, python-format
msgid "Smarten punctuation
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:53
msgid ""
"Updating metadata
Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
#, python-format
msgid "Remove Book Jacket
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
msgid "Select actions to perform:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:249
msgid "&Subset all embedded fonts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:240
msgid "Smarten &punctuation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:80
msgid "Update &metadata in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:81
msgid "Update the &cover in the book files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:82
msgid "Add metadata as a \"book &jacket\" page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:83
msgid "&Remove a previously inserted book jacket"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:93
msgid "About"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:112
msgid "Show &report"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
msgid ""
"Show a report of all the actions performed after polishing is completed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:120
msgid "&Save Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:122
msgid "&Load Settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:47
msgid "Select &all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/duplicates.py:49
msgid "Select &none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:137
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:202
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
msgid "No actions selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:138
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:144
msgid "You must select at least one action before saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:146
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:71
msgid "Choose name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:72
msgid "Choose a name for these settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:90
msgid "Remove saved settings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:208
+msgid "Must update metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:209
+msgid ""
+"You have selected the option to add metadata as a \"book jacket\". For this "
+"option to work, you must also select the option to update metadata in the "
+"book files. Do you want to select it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:218
msgid "You must select at least one action, or click Cancel."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:217
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:232
msgid "Queueing books for polishing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:276
#, python-format
msgid "Polish %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:277
#, python-format
msgid "Polish book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:281
#, python-format
msgid "Queueing book %(nums)s of %(tot)s (%(title)s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:307
#, python-format
msgid "Ignore remaining %d reports"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:314
msgid "View full &log"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:322
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:337
#, python-format
msgid "Polishing of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:343
#, python-format
msgid "The original file has been saved as %s."
msgid_plural "The original files have been saved as %s."
msgstr[0] ""
msgstr[1] ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:330
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:345
msgid " and "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:348
msgid "If you polish again, the polishing will run on the originals."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:383
msgid "Polish books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "Apply the shine of perfection to your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:369
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:384
msgid "P"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:410
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:428
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:425
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:443
msgid "Cannot polish"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:429
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:444
#, python-format
msgid ""
"Polishing is only supported for books in the %s formats. Convert to one of "
"those formats before polishing."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:472
#, python-format
msgid "Start polishing of %d book(s)"
msgstr ""
@@ -6613,7 +6759,7 @@ msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:812
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:806
msgid "Show book details"
msgstr ""
@@ -6718,7 +6864,7 @@ msgid "this book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:498
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:494
#, python-format
msgid "Search for %s"
msgstr ""
@@ -6730,30 +6876,30 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:314
msgid "Choose stores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113
msgid "Cannot search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134
msgid ""
"Calibre helps you find the ebooks you want by searching the websites of "
"various commercial and public domain book sources for you."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138
msgid ""
"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."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142
msgid ""
"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 "
@@ -6763,11 +6909,11 @@ msgid ""
"ebook.com/about#drm\">DRM."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152
msgid "Show this message again"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153
msgid "About Get Books"
msgstr ""
@@ -7031,7 +7177,7 @@ msgid "The specified directory could not be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1137
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1144
msgid "No books"
msgstr ""
@@ -7241,7 +7387,7 @@ msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:180
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:861
msgid "Ids"
msgstr ""
@@ -7251,7 +7397,7 @@ msgid "Book %(sidx)s of %(series)s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:233
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
msgid "Collections"
msgstr ""
@@ -7285,16 +7431,25 @@ msgstr ""
msgid "Cover size: %(width)d x %(height)d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:481
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:487
+msgid "&Copy Link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:502
#, python-format
msgid "Delete the %s format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:503
#, python-format
msgid "Save the %s format to disk"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:504
+#, python-format
+msgid "Restore the %s format"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16
msgid "BibTeX Options"
msgstr ""
@@ -7362,7 +7517,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:139
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46
#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:145
@@ -7548,7 +7703,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:342
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:90
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:262
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:259
msgid "Name"
msgstr ""
@@ -7888,8 +8043,8 @@ msgid "Style the selected text block"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Normal"
msgstr ""
@@ -8805,59 +8960,63 @@ msgstr ""
msgid "PDF Output"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:140
msgid ""
"Note: The paper size settings below only take effect if you enable "
"the \"Override\" checkbox below. Otherwise the size from the output profile "
"will be used."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:119
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:141
msgid "&Override paper size set in output profile"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:142
msgid "&Paper Size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:143
msgid "&Custom size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:144
msgid "&Unit:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:145
msgid "Preserve &aspect ratio of cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:146
+msgid "Add page &numbers to the bottom of every page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:147
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:392
msgid "Se&rif family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:148
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:393
msgid "&Sans family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:394
msgid "&Monospace family:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:399
msgid "S&tandard font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:151
msgid "Default font si&ze:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:129
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:154
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:280
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:396
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:398
@@ -8869,13 +9028,29 @@ msgstr ""
msgid " px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:153
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:397
msgid "Monospace &font size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:132
-msgid "Add page &numbers to the bottom of every page"
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:155
+msgid "Page headers and footers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:156
+msgid ""
+"You can insert headers and footers into every page of the produced PDF file "
+"by using header and footer templates. For examples, see the documentation."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:157
+msgid "&Header template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:158
+msgid "&Footer template:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14
@@ -9113,6 +9288,10 @@ msgid ""
"Add button to add it to the list of expressions."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:150
+msgid "Restore &Defaults"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:193
msgid "Convert"
msgstr ""
@@ -9679,7 +9858,7 @@ msgid "Detected the %s. Do you want calibre to manage it?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1473
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:262
msgid "No suitable formats"
msgstr ""
@@ -9725,81 +9904,81 @@ msgstr ""
msgid " detected."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1138
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
msgid "selected to send"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1145
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1152
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1182
msgid "No device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1146
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1153
msgid "No device connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1169
#, python-format
msgid "%(num)i of %(total)i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173
#, python-format
msgid "0 of %i Books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1167
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174
msgid "Choose format to send to device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
msgid "Cannot send: No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1183
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1190
msgid "No card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1180
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1187
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1191
msgid "Cannot send: Device has no storage card"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1245
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1328
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1460
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1335
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
msgid "Auto convert the following books before uploading to the device?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1281
msgid "Sending catalogs to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1373
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1380
msgid "Sending news to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1427
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1434
msgid "Sending books to device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1467
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1474
msgid ""
"Could not upload the following books to the device, as no suitable formats "
"were found. Convert the book(s) to a format supported by your device first."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1540
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1547
msgid "No space on device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1541
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1548
msgid ""
"
Words separated by spaces are ANDed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210
msgid "&Go!"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216
msgid "Do Quick Search (you can also press the Enter key)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222
msgid "Reset Quick Search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238
msgid "Copy current search text (instead of search name)"
msgstr ""
@@ -13373,32 +13559,32 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285
msgid "On Device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
msgid "Size (MB)"
msgstr "גודל (מ\"ב)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332
msgid "The lookup/search name is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479
@@ -13407,30 +13593,30 @@ msgid ""
"program?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004
msgid "Failed to set data"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005
msgid "Could not set data, click Show Details to see why."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522
msgid "Double click to edit me
"
msgstr ""
@@ -13535,7 +13721,7 @@ msgid "Previous Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215
msgid "Back"
@@ -14033,7 +14219,7 @@ msgid "Edit Metadata"
msgstr "ערוך מטא-נתונים"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410
@@ -14178,15 +14364,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -14194,27 +14380,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -14222,38 +14408,44 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822
+msgid "View this cover at full size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868
#, python-format
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905
#, python-format
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
#, python-format
-msgid "Found %(num)d covers of %(title)s. Pick the one you like best."
+msgid ""
+"Found %(num)d possible covers for %(title)s. When the download "
+"completes, the covers will be sorted by size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112
msgid "Downloading cover..."
msgstr ""
@@ -14394,7 +14586,8 @@ msgid "The Add &Process"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161
-msgid "Ignore files with the following extensions when automatically adding "
+msgid ""
+"Ignore files with the following extensions when automatically adding "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162
@@ -14437,34 +14630,34 @@ msgstr ""
msgid "&Automatic Adding"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166
msgid "High"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167
msgid "Low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35
msgid "Very low"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Compact Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67
msgid "Default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68
msgid "All on 1 tab"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170
msgid "Confirmation dialogs have all been reset"
msgstr ""
@@ -14513,12 +14706,12 @@ msgid "Job &priority:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
-msgid "Restriction to apply when the current library is opened:"
+msgid "Virtual library to apply when the current library is opened:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
msgid ""
-"Apply this restriction on calibre startup if the current library is being "
+"Use this virtual library on calibre startup if the current library is being "
"used. Also applied when switching to this library. Note that this setting is "
"per library. "
msgstr ""
@@ -15431,10 +15624,6 @@ msgstr ""
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
-msgid "Large"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
msgid "Medium"
msgstr ""
@@ -15452,7 +15641,7 @@ msgid "Never"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590
msgid "By first letter"
msgstr ""
@@ -16420,20 +16609,20 @@ msgid ""
"by customizing the device interface plugins in Preferences->Advanced->Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477
msgid "Failed to start content server"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112
msgid "Error log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119
msgid "Access log:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134
msgid "You need to restart the server for changes to take effect"
msgstr ""
@@ -16466,18 +16655,18 @@ msgid "Max. &OPDS items per query:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157
-msgid "Max. OPDS &ungrouped items:"
+msgid "Max. &ungrouped items:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158
-msgid "Restriction (saved search) to apply:"
+msgid "Virtual library to apply:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159
msgid ""
-"This restriction (based on a saved search) will restrict the books the "
-"content server makes available to those matching the search. This setting is "
-"per library (i.e. you can have a different restriction per library)."
+"Setting a virtual library will restrict the books the content server makes "
+"available to those in the library. This setting is per library (i.e. you can "
+"have a different value per library)."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160
@@ -16852,83 +17041,233 @@ msgstr ""
msgid "Apply any changes you made to this tweak"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348
-msgid "Delete current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473
+msgid "Create saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349
-msgid "No search is selected"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336
+msgid "There is no search to save"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354
msgid "The selected search will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379
msgid "Search (For Advanced Search click the button to the left)"
msgstr "חיפוש (בשביל חיפוש מתקדם לחץ על הכפתור משמאל)"
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395
msgid "Start search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405
msgid "Enable or disable search highlighting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
msgid "Saved Searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
msgid "Choose saved search or enter name for new saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468
msgid ""
"Save current search under the name shown in the box. Press and hold for a "
"pop-up options menu."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470
-msgid "Create saved search"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477
msgid "Delete saved search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481
msgid "Manage saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488
-msgid "*Current search"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26
+#, python-format
+msgid "Create a Virtual Library based on %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
-msgid "Restrict to"
-msgstr "הגבל ל"
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34
+#, python-format
+msgid "Match all selected %s names"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
-#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "Edit virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "Create virtual library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99
+msgid "Virtual library &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112
+msgid "&Search expression:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120
+msgid "Create a virtual library based on: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133
+msgid ""
+"\n"
+" Virtual Libraries
\n"
+"\n"
+" ,
and
tags."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:169
msgid "Generate ToC from &all headings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:172
msgid ""
"Generate a Table of Contents from all the headings in the book. This will "
"work if the book identifies its headings using HTML heading tags. Uses the "
"
\n"
" Quitting may cause corruption on the device.
\n"
" Are you sure you want to quit?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755
msgid "Active jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823
msgid ""
"will keep running in the system tray. To close it, choose Quit in the "
"context menu of the system tray."
@@ -18707,29 +19102,29 @@ msgstr ""
msgid "S&earch Google for '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28
msgid "Zoom &in"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29
msgid "Zoom &out"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
msgid "&Save as"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42
msgid "&Rotate"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68
msgid "Choose a file to save to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104
#, python-format
msgid "View Image: %s"
msgstr ""
@@ -19977,44 +20372,44 @@ msgid ""
"to do no filtering."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:170
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
msgid "The string used to separate fields. Default is a space."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:171
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:172
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:195
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:196
msgid "Invalid fields. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:202
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:203
msgid "Invalid sort field. Available fields:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:305
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:362
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:307
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:364
#, python-format
msgid "Added book ids: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:315
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@@ -20023,59 +20418,59 @@ msgid ""
"the directory related options below.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:321
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:323
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
msgid "Process directories recursively"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:325
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:327
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
msgid "Add an empty book (a book with no formats)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:329
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
msgid "Set the title of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:331
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
msgid "Set the authors of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:333
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "Set the ISBN of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
msgid "Set the tags of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:337
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
msgid "Set the series of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:339
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
msgid "Set the series number of the added book(s)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:341
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:343
msgid "Path to the cover to use for the added book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:378
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:380
msgid "You must specify at least one file to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:400
msgid ""
"%prog remove ids\n"
"\n"
@@ -20086,28 +20481,38 @@ msgid ""
"included).\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:413
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:434
+#, python-format
+msgid "A %s file already exists for book: %d, not replacing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:440
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
"Add the ebook in ebook_file to the available formats for the logical book "
"identified by id. You can get id by using the list command. If the format "
-"already exists, it is replaced.\n"
+"already exists, it is replaced, unless the do not replace option is "
+"specified."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:448
+msgid "Do not replace the format if it already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:458
msgid "You must specify an id and an ebook file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
msgid "ebook file must have an extension"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:463
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:473
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@@ -20117,11 +20522,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
msgid "You must specify an id and a format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:498
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:508
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@@ -20131,15 +20536,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:505
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:515
msgid "Print metadata in OPF form (XML)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:514
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:524
msgid "You must specify an id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:526
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:536
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@@ -20154,7 +20559,7 @@ msgid ""
"the --field option.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:539
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid ""
"The field to set. Format is field_name:value, for example: {0} "
"tags:tag1,tag2. Use {1} to get a list of all field names. You can specify "
@@ -20164,40 +20569,40 @@ msgid ""
"use true and false or yes and no."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:559
msgid ""
"List the metadata field names that can be used with the --field option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
msgid "Field name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:586
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
msgid "You must specify a record id as the first argument"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
msgid "You must specify either a field or an opf file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:596
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:877
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:606
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:887
#, python-format
msgid "No book with id: %s in the database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:602
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
#, python-format
msgid "The OPF file %s does not exist"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:612
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:622
#, python-format
msgid "%s is not a known field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:642
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
msgid ""
"%prog export [options] ids\n"
"\n"
@@ -20208,28 +20613,28 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:650
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:660
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:652
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
msgid "Export books to the specified directory. Default is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:654
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:664
msgid "Export all books into a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:661
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:671
msgid "Specifying this switch will turn this behavior off."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:684
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:694
#, python-format
msgid "You must specify some ids or the %s option"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:697
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:707
msgid ""
"%prog add_custom_column [options] label name datatype\n"
"\n"
@@ -20240,13 +20645,13 @@ msgid ""
"datatype is one of: {0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:706
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:716
msgid ""
"This column stores tag like data (i.e. multiple comma separated values). "
"Only applies if datatype is text."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:710
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:720
msgid ""
"A dictionary of options to customize how the data in this column will be "
"interpreted. This is a JSON string. For enumeration columns, use --"
@@ -20266,11 +20671,11 @@ msgid ""
"JSON for the\"display\" for the new column in the OPF."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:739
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
msgid "You must specify label, name and datatype"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:802
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:812
msgid ""
"\n"
" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
@@ -20281,30 +20686,30 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:815
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
msgid ""
"Comma-separated list of database IDs to catalog.\n"
"If declared, --search is ignored.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:819
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:829
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search-related documentation in the User Manual.\n"
"Default: no filtering"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:825
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:835
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601
msgid "Show detailed output information. Useful for debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:839
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
msgid "Error: You must specify a catalog output file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:891
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
msgid ""
"\n"
" %prog set_custom [options] column id value\n"
@@ -20316,17 +20721,17 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:901
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:911
msgid ""
"If the column stores multiple values, append the specified values to the "
"existing ones, instead of replacing them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:912
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:922
msgid "Error: You must specify a field name, id and value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:932
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:942
msgid ""
"\n"
" %prog custom_columns [options]\n"
@@ -20335,27 +20740,27 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:938
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:948
msgid "Show details for each column."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:950
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
#, python-format
msgid "You will lose all data in the column: %s. Are you sure (y/n)? "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:952
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:962
msgid "y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:957
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:967
#, python-format
msgid ""
"No column named %s found. You must use column labels, not titles. Use "
"calibredb custom_columns to get a list of labels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:964
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:974
msgid ""
"\n"
" %prog remove_custom_column [options] label\n"
@@ -20365,15 +20770,15 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:971
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
msgid "Do not ask for confirmation"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:981
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:991
msgid "Error: You must specify a column label"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:992
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002
msgid ""
"\n"
" %prog saved_searches [options] list\n"
@@ -20386,40 +20791,40 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019
msgid "Error: You must specify an action (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
msgid "Name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028
msgid "Search string:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034
msgid "Error: You must specify a name and a search string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037
msgid "added"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042
msgid "Error: You must specify a name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045
msgid "removed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049
#, python-format
msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056
msgid ""
"%prog backup_metadata [options]\n"
"\n"
@@ -20433,13 +20838,13 @@ msgid ""
"automatically, every time metadata is changed.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067
msgid ""
"Normally, this command only operates on books that have out of date OPF "
"files. This option makes it operate on all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
msgid ""
"%prog check_library [options]\n"
"\n"
@@ -20447,34 +20852,34 @@ msgid ""
"{0}\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
msgid "Output in CSV"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116
msgid ""
"Comma-separated list of reports.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120
msgid ""
"Comma-separated list of extensions to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124
msgid ""
"Comma-separated list of names to ignore.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154
msgid "Unknown report check"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188
msgid ""
"%prog restore_database [options]\n"
"\n"
@@ -20489,18 +20894,18 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202
msgid ""
"Really do the recovery. The command will not run unless this option is "
"specified."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215
#, python-format
msgid "You must provide the %s option to do a recovery"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253
msgid ""
"%prog list_categories [options]\n"
"\n"
@@ -20508,33 +20913,33 @@ msgid ""
"information is the equivalent of what is shown in the tags pane.\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261
msgid ""
"Output only the number of items in a category instead of the counts per item "
"within the category"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266
msgid ""
"The character to put around the category value in CSV mode. Default is "
"quotes (\")."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269
msgid ""
"Comma-separated list of category lookup names.\n"
"Default: all"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275
msgid "The string used to separate fields in CSV mode. Default is a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313
msgid "CATEGORY ITEMS"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386
#, python-format
msgid ""
"%%prog command [options] [arguments]\n"
@@ -20557,31 +20962,22 @@ msgid ""
"start with a letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
-msgid "restored preference "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
-#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
-msgid "creating custom column "
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211
#, python-format
msgid " (%s books)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711
#, python-format
msgid "\n"
@@ -15,24 +15,24 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-30 05:14+0000\n"
-"X-Generator: Launchpad (build 16546)\n"
+"X-Launchpad-Export-Date: 2013-04-27 05:30+0000\n"
+"X-Generator: Launchpad (build 16580)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:804
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:126
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:129
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:140
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:667
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:668
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:839
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:147
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:150
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:161
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:715
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:716
#: /home/kovid/work/calibre/src/calibre/db/write.py:152
#: /home/kovid/work/calibre/src/calibre/db/write.py:156
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:383
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:384
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:385
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:115
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
@@ -87,8 +87,8 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:489
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:491
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:493
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1184
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1294
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:105
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25
@@ -99,9 +99,9 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:50
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:347
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:350
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:85
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:87
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:259
@@ -110,7 +110,7 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:468
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:59
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:130
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:26
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/worker.py:27
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader/headers.py:98
@@ -123,7 +123,7 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/main.py:428
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:266
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:881
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator/spine.py:63
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:358
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/parse_utils.py:361
@@ -145,13 +145,13 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:449
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:174
-#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:692
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:721
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:125
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:144
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:146
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1416
-#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1419
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1423
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1426
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:71
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136
@@ -160,33 +160,33 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:381
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:193
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:208
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:475
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1178
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1394
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1397
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1400
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1488
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:482
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1401
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1404
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1407
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1495
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:250
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:261
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:426
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:177
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:202
-#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:209
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:923
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:244
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:245
#: /home/kovid/work/calibre/src/calibre/library/database.py:914
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:554
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:562
#: /home/kovid/work/calibre/src/calibre/library/database2.py:573
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2264
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2418
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2869
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3520
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3522
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3659
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:581
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:592
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2293
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2896
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3545
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3547
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685
#: /home/kovid/work/calibre/src/calibre/library/server/content.py:250
#: /home/kovid/work/calibre/src/calibre/library/server/content.py:251
#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247
@@ -325,345 +325,345 @@ msgstr ""
msgid "Set metadata from %s files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772
msgid "Add books to calibre or the connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:777
msgid "Fetch annotations from a connected Kindle (experimental)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782
msgid "Generate a catalog of the books in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787
msgid "Convert books to various ebook formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792
msgid "Fine tune your ebooks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63
msgid "Edit the Table of Contents in your books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802
msgid "Delete books from your calibre library or connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807
msgid "Edit the metadata of books in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812
msgid "Read books in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817
msgid "Download news from the internet in ebook form"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822
msgid "Show a list of related books quickly"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827
msgid "Export books from your calibre library to the hard disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832
msgid "Show book details in a separate popup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837
#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14
msgid "Restart calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842
msgid "Open the folder that contains the book files in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848
msgid "Send books to the connected device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853
msgid ""
"Send books via email or the web also connect to iTunes or folders on your "
"computer as if they are devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859
#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16
msgid "Browse the calibre User Manual"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864
msgid "Customize calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869
msgid "Easily find books similar to the currently selected one"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874
msgid ""
"Switch between different calibre libraries and perform maintenance on them"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880
msgid "Copy books from the devce to your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885
msgid "Edit the collections in which books are placed on your device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890
msgid "Copy a book from one calibre library to another"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895
msgid "Make small tweaks to epub or htmlz files in your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:900
msgid ""
"Find the next or previous match when searching in your calibre library in "
"highlight mode"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906
msgid "Choose a random book from your calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913
msgid "Search for books from different book sellers"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929
msgid "Get new calibre plugins or update your existing ones"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948
msgid "Look and Feel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:950
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:984
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:996
msgid "Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954
msgid "Adjust the look and feel of the calibre interface to suit your tastes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960
msgid "Behavior"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966
msgid "Change the way calibre behaves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276
msgid "Add your own columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977
msgid "Add/remove your own columns to the calibre book list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982
msgid "Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988
msgid ""
"Customize the toolbars and context menus, changing which actions are "
"available in each"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994
msgid "Searching"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000
msgid "Customize the way searching for books works in calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005
msgid "Input Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1007
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1018
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1029
msgid "Conversion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011
msgid "Set conversion options specific to each input format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016
msgid "Common Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022
msgid "Set conversion options common to all formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027
msgid "Output Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033
msgid "Set conversion options specific to each output format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038
msgid "Adding books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1040
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1052
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1064
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1076
msgid "Import/Export"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044
msgid "Control how calibre reads metadata from files when adding books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050
msgid "Saving books to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1056
msgid ""
"Control how calibre exports files from its database to disk when using Save "
"to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062
msgid "Sending books to devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068
msgid "Control how calibre transfers files to your ebook reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074
msgid "Metadata plugboards"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080
msgid "Change metadata fields before saving/sending"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085
msgid "Template Functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1087
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1147
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1159
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1170
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1181
msgid "Advanced"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091
msgid "Create your own template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096
msgid "Sharing books by email"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1098
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1110
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1123
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1134
msgid "Sharing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102
msgid ""
"Setup sharing of books via email. Can be used for automatic sending of "
"downloaded news to your devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108
msgid "Sharing over the net"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114
msgid ""
"Setup the calibre Content Server which will give you access to your calibre "
"library from anywhere, on any device, over the internet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121
msgid "Metadata download"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127
msgid "Control how calibre downloads ebook metadata from the net"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400
msgid "Ignored devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138
msgid ""
"Control which devices calibre will ignore when they are connected to the "
"computer."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid "Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1151
msgid "Add/remove/customize various bits of calibre functionality"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157
msgid "Tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163
msgid "Fine tune how calibre behaves in various contexts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168
msgid "Keyboard"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174
msgid "Customize the keyboard shortcuts used by calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179
#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110
msgid "Miscellaneous"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1185
msgid "Miscellaneous advanced configuration"
msgstr ""
@@ -943,8 +943,8 @@ msgstr ""
msgid "Disable the named plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:325
-#: /home/kovid/work/calibre/src/calibre/db/backend.py:334
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:327
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:749
@@ -954,11 +954,22 @@ msgstr ""
msgid "Path to library too long. Must be less than %d characters."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/db/cache.py:154
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:395
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:187
+msgid "restored preference "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/backend.py:401
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:192
+#: /home/kovid/work/calibre/src/calibre/library/restore.py:234
+msgid "creating custom column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/cache.py:175
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:666
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:67
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:677
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1030
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1049
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:887
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:910
msgid "Yes"
@@ -970,26 +981,26 @@ msgid "%(tt)sAverage rating is %(rating)3.1f"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:237
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1187
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1206
msgid "Main"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:239
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1189
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1208
msgid "Card A"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:241
-#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1191
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1210
msgid "Card B"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/fields.py:484
#: /home/kovid/work/calibre/src/calibre/db/fields.py:499
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2826
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:106
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:107
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:448
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:471
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:773
@@ -1002,11 +1013,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/utils.py:116
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:470
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1227
-#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1229
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:339
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:352
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3373
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1222
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1224
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:359
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:372
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187
msgid "News"
msgstr ""
@@ -1014,14 +1025,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:32
#: /home/kovid/work/calibre/src/calibre/db/search.py:312
#: /home/kovid/work/calibre/src/calibre/library/caches.py:135
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:577
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:570
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:32
#: /home/kovid/work/calibre/src/calibre/db/search.py:310
#: /home/kovid/work/calibre/src/calibre/library/caches.py:135
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:575
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229
msgid "yes"
msgstr ""
@@ -1029,7 +1040,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:34
#: /home/kovid/work/calibre/src/calibre/db/search.py:309
#: /home/kovid/work/calibre/src/calibre/library/caches.py:137
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:574
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:229
msgid "no"
msgstr ""
@@ -1037,45 +1048,70 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:34
#: /home/kovid/work/calibre/src/calibre/db/search.py:311
#: /home/kovid/work/calibre/src/calibre/library/caches.py:137
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:576
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:109
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:313
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:314
msgid "today"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:110
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:314
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:315
msgid "yesterday"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:111
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:315
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:316
msgid "thismonth"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:112
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:316
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:317
msgid "daysago"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/db/search.py:198
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:374
+msgid "Number conversion error: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:204
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:380
+msgid "Date conversion error: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:289
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:456
+msgid "Non-numeric value in query: {0}"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/db/search.py:313
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:571
msgid "empty"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:314
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:572
msgid "blank"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/search.py:323
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:584
msgid "Invalid boolean query \"{0}\""
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/db/search.py:355
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:501
+msgid "Invalid query format for colon-separated search: {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/db/search.py:469
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:650
+msgid "Recursive query group detected: {0}"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/debug.py:75
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:47
msgid ""
@@ -1103,23 +1139,23 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:203
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:204
msgid ""
"Comma separated list of directories to send e-books to on the device's "
"main memory. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:206
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:207
msgid ""
"Comma separated list of directories to send e-books to on the device's "
"storage cards. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:323
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:324
msgid "Communicate with S60 phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:342
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:343
msgid "Communicate with WebOS tablets."
msgstr ""
@@ -1242,8 +1278,8 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2827
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3329
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3347
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3356
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3374
msgid "Catalog"
msgstr ""
@@ -1291,10 +1327,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:130
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:133
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:350
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1338
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1342
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1346
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1716
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1354
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1358
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1362
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1732
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:144
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:147
@@ -1335,6 +1371,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:442
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:474
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:617
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2585
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:338
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
msgid "Removing books from device..."
@@ -1653,17 +1690,17 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1233
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:77
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:78
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1238
msgid ""
"A bug in an earlier version left non kepubs book records in the database. "
"With this option Calibre will show the expired records and allow you to "
@@ -1671,12 +1708,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:82
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1236
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1242
msgid "Show Previews"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:83
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1237
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1243
msgid ""
"Kobo previews are included on the Touch and some other versions by default "
"they are no longer displayed as there is no good reason to see them. Enable "
@@ -1684,7 +1721,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:86
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1240
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1246
msgid "Show Recommendations"
msgstr ""
@@ -1696,7 +1733,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:90
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1249
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1255
msgid "Attempt to support newer firmware"
msgstr ""
@@ -1709,10 +1746,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:619
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2587
msgid "Kobo database version unsupported - See details"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:620
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:2588
msgid ""
"Your Kobo is running an updated firmware/database version. As calibre does "
"not know about this updated firmware, database editing is disabled, to "
@@ -1769,66 +1808,66 @@ msgid ""
"%(text)sNotes: %(annotation)s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1218
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
msgid "The Kobo Touch from firmware V2.0.0 supports bookshelves."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1220
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
msgid "Specify a tags type column for automatic management"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1221
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1227
msgid "Create Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1222
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
msgid ""
"Create new bookshelves on the Kobo Touch if they do not exist. This is only "
"for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1223
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
msgid "Delete Empty Bookshelves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1224
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1230
msgid ""
"Delete any empty bookshelves from the Kobo Touch when syncing is finished. "
"This is only for firmware V2.0.0 or later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1225
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1231
msgid "Upload covers for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1226
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1232
msgid ""
"Upload cover images from the calibre library when sending books to the "
"device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1228
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1234
msgid "Keep cover aspect ratio"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1229
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1235
msgid ""
"When uploading covers, do not change the aspect ratio when resizing for the "
"device. This is for firmware versions 2.3.1 and later."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1241
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1247
msgid ""
"Kobo shows recommendations on the device. In some cases these have files "
"but in other cases they are just pointers to the web site to buy. Enable if "
"you wish to see/delete them."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1244
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
msgid "Set Series information"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1245
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1251
msgid ""
"The book lists on the Kobo devices can display series information. This is "
"not read by the device from the sideloaded books. Series information can "
@@ -1836,7 +1875,7 @@ msgid ""
"Enable if you wish to set series information."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1250
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
msgid ""
"Kobo routinely updates the firmware and the database version. With this "
"option Calibre will attempt to perform full read-write functionality - Here "
@@ -1845,11 +1884,11 @@ msgid ""
"and DBVersion up to "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1256
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1262
msgid "Title to test when debugging"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1257
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1263
msgid ""
"Part of title of a book that can be used when doing some tests for "
"debugging. The test is to see if the string is contained in the title of a "
@@ -1869,55 +1908,55 @@ msgid "Communicate with the Sweex/Kogan/Q600/Wink"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:107
msgid "Communicate with the Pandigital Novel"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:126
msgid "Communicate with the VelocityMicro"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:144
msgid "Communicate with the GM2000"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:164
msgid "Communicate with the Acer Lumiread"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:198
msgid "Communicate with the Aluratek Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:220
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:247
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:246
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:267
msgid "Communicate with the Adam tablet"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:289
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:288
msgid "Communicate with the Nextbook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:340
msgid "Communicate with the Moovybook Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:363
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:362
msgid "Communicate with the COBY"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:389
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:388
msgid "Communicate with the Ex124G"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:416
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:415
msgid "Communicate with the WayteQ and SPC Dickens Readers"
msgstr ""
@@ -2042,7 +2081,7 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
msgid "Communicate with the Nook Color, TSR and Tablet eBook readers."
msgstr ""
@@ -2523,7 +2562,7 @@ msgid "There is insufficient free space on the storage card"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
-#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:274
#, python-format
msgid "Rendered %s"
msgstr ""
@@ -2832,23 +2871,23 @@ msgid ""
"pipeline."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
msgid "CSS file used for the output instead of the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
msgid ""
"Template used for generation of the html index file instead of the default "
"file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
msgid ""
"Template used for the generation of the html contents of the book instead of "
"the default file"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/html_output.py:33
msgid ""
"Extract the contents of the generated ZIP file to the specified directory. "
"WARNING: The contents of the directory will be deleted."
@@ -3136,15 +3175,19 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:107
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:110
+#, python-format
msgid ""
-"An HTML template used to generate footers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+"An HTML template used to generate %s on every page. The strings _PAGENUM_, "
+"_TITLE_, _AUTHOR_ and _SECTION_ will be replaced by their current values."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:108
+msgid "footers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pdf_output.py:111
-msgid ""
-"An HTML template used to generate headers on every page. The string "
-"_PAGENUM_ will be replaced by the current page number."
+msgid "headers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plugins/pml_output.py:22
@@ -4098,7 +4141,7 @@ msgstr ""
msgid "Set book ID"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42
msgid ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
@@ -4122,27 +4165,27 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:115
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1183
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1190
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
-#: /home/kovid/work/calibre/src/calibre/library/cli.py:570
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:375
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:585
msgid "Title"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:770
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:117
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1184
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1191
#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23
msgid "Author(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:771
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159
msgid "Publisher"
msgstr ""
@@ -4178,13 +4221,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:637
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:1132
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:981
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1227
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:807
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:801
msgid "Tags"
msgstr ""
@@ -4193,9 +4237,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:224
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:131
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:306
#: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:2304
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140
@@ -4205,7 +4250,7 @@ msgstr[0] ""
msgstr[1] ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:133
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127
msgid "Languages"
@@ -4217,8 +4262,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:782
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:120
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305
msgid "Published"
msgstr ""
@@ -4330,60 +4375,60 @@ msgid ""
"LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1499
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:181
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1489
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/cover.py:183
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:994
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:39
msgid "Cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:514
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:518
msgid "Downloads metadata and covers from Amazon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:524
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
msgid "US"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:525
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
msgid "France"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:526
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
msgid "Germany"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:527
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:528
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Italy"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:529
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:533
msgid "Japan"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:530
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:534
msgid "Spain"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
msgid "Brazil"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:535
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:539
msgid "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:536
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:540
msgid ""
"Metadata from Amazon will be fetched using this country's Amazon website."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:785
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:790
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -4391,13 +4436,31 @@ msgstr ""
msgid "Metadata source"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:31
+msgid ""
+"Downloads multiple book covers from Amazon. Useful to find alternate covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:33
+msgid "Configure the Big Book Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:22
+msgid "Maximum number of covers to get"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/big_book_search.py:36
+msgid "The maximum number of covers to process from the search result"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:155
msgid ""
"Downloads metadata and covers from Douban.com. Useful only for chinese "
"language books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:165
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/edelweiss.py:167
msgid ""
"Downloads metadata and covers from Edelweiss - A catalog updated by book "
"publishers"
@@ -4407,6 +4470,47 @@ msgstr ""
msgid "Downloads metadata and covers from Google Books"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:18
+msgid ""
+"Downloads covers from a Google Image search. Useful to find larger/alternate "
+"covers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:20
+msgid "Configure the Google Image Search plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:23
+msgid "The maximum number of covers to process from the google search result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:24
+msgid "Cover size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:25
+msgid "Search for covers larger than the specified size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:27
+msgid "Any size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:30
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:31
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google_images.py:34
+#, python-format
+msgid "Larger than %s"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:24
msgid "Downloads metadata from isbndb.com"
msgstr ""
@@ -4466,12 +4570,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:624
msgid "This is not a MOBI file. It is a Topaz file."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629
msgid "This is not a MOBI file."
msgstr ""
@@ -4498,72 +4602,72 @@ msgid "No details available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:344
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:373
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
-#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:351
+#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:357
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219
msgid "Table of Contents"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
msgid "Title Page"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1287
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1301
msgid "Index"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1288
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1302
msgid "Glossary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1289
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1303
msgid "Acknowledgements"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1290
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1304
msgid "Bibliography"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1291
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1305
msgid "Colophon"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1292
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1306
msgid "Copyright"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1293
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1307
msgid "Dedication"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1294
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1308
msgid "Epigraph"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1295
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1309
msgid "Foreword"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1296
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1310
msgid "List of Illustrations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1297
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1311
msgid "List of Tables"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1298
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1312
msgid "Notes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1299
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1313
msgid "Preface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1300
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1314
msgid "Main Text"
msgstr ""
@@ -4572,14 +4676,14 @@ msgstr ""
msgid "%s format books are not supported"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:637
msgid ""
"This MOBI file does not contain a KF8 format book. KF8 is the new format "
"from Amazon. calibre can only edit MOBI files that contain KF8 books. Older "
"MOBI files without KF8 are not editable."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:643
msgid ""
"This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit "
"MOBI files that contain only KF8 data."
@@ -4604,12 +4708,12 @@ msgid ""
"\n"
"
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4642,7 +4746,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4767,9 +4871,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4785,11 +4889,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4832,6 +4936,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4986,7 +5094,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5108,12 +5216,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5190,8 +5298,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5312,7 +5420,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5360,7 +5468,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5374,7 +5482,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5386,12 +5494,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5531,7 +5639,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5559,7 +5667,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5600,7 +5708,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5613,96 +5721,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5721,6 +5842,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5793,75 +5915,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5937,12 +6061,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6026,8 +6150,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6063,7 +6187,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6133,15 +6257,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6246,17 +6370,28 @@ msgstr "" msgid "
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6265,185 +6400,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9908,7 +10087,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10419,13 +10598,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10459,8 +10638,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10479,13 +10658,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10584,7 +10763,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10632,12 +10811,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10732,40 +10911,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11633,6 +11812,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11668,12 +11848,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12247,12 +12427,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12304,6 +12484,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12318,6 +12499,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13194,7 +13376,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13238,7 +13420,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13248,66 +13430,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13320,32 +13506,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13354,30 +13540,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "" @@ -13482,7 +13668,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13980,7 +14166,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14125,15 +14311,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14141,27 +14327,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14169,38 +14355,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14341,7 +14533,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14384,34 +14577,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14460,12 +14653,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15378,10 +15571,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15399,7 +15588,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16367,20 +16556,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16413,18 +16602,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16799,83 +16988,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18086,34 +18481,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18654,29 +19049,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19924,44 +20319,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19970,59 +20365,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20033,28 +20428,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20064,11 +20469,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20078,15 +20483,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20101,7 +20506,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20111,40 +20516,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20155,28 +20560,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20187,13 +20592,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20213,11 +20618,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20228,30 +20633,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20263,17 +20668,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20282,27 +20687,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20312,15 +20717,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20333,40 +20738,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20380,13 +20785,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20394,34 +20799,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20436,18 +20841,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20455,33 +20860,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20504,31 +20909,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4637,7 +4741,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4762,9 +4866,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4780,11 +4884,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4827,6 +4931,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4981,7 +5089,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5103,12 +5211,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5185,8 +5293,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5307,7 +5415,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5355,7 +5463,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5369,7 +5477,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5381,12 +5489,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5526,7 +5634,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5554,7 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5595,7 +5703,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5608,96 +5716,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5716,6 +5837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5788,75 +5910,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5932,12 +6056,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6021,8 +6145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6058,7 +6182,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6128,15 +6252,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6241,17 +6365,28 @@ msgstr "" msgid "
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6260,185 +6395,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9903,7 +10082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10414,13 +10593,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10454,8 +10633,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10474,13 +10653,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10579,7 +10758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10627,12 +10806,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10727,40 +10906,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11628,6 +11807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11663,12 +11843,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12242,12 +12422,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12299,6 +12479,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12313,6 +12494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13189,7 +13371,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13233,7 +13415,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13243,66 +13425,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13315,32 +13501,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13349,30 +13535,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "" @@ -13477,7 +13663,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13975,7 +14161,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14120,15 +14306,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14136,27 +14322,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14164,38 +14350,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14336,7 +14528,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14379,34 +14572,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14455,12 +14648,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15373,10 +15566,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15394,7 +15583,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16362,20 +16551,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16408,18 +16597,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16794,83 +16983,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18081,34 +18476,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18649,29 +19044,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19919,44 +20314,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19965,59 +20360,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20028,28 +20423,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20059,11 +20464,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20073,15 +20478,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20096,7 +20501,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20106,40 +20511,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20150,28 +20555,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20182,13 +20587,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20208,11 +20613,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20223,30 +20628,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20258,17 +20663,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20277,27 +20682,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20307,15 +20712,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20328,40 +20733,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20375,13 +20780,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20389,34 +20794,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20431,18 +20836,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20450,33 +20855,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20499,31 +20904,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4834,7 +4938,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4959,9 +5063,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4977,11 +5081,11 @@ msgid "HTML TOC generation options." msgstr "Opcije generiranja HTML TOC." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Rang" @@ -5026,6 +5130,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Nemoguće pronaći pdftohtml, provjeri da je vašem PUTU" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5184,7 +5292,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5311,12 +5419,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5393,8 +5501,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5515,7 +5623,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5563,7 +5671,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5577,7 +5685,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5589,12 +5697,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5734,7 +5842,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5762,7 +5870,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5803,7 +5911,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nemoguće pretvoriti" @@ -5816,96 +5924,109 @@ msgstr "Pokretanje konverzije %d knjige(a)" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5924,6 +6045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Jeste li sigurni?" @@ -5996,75 +6118,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Odaberi formate za obrisati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Uklanjanje knjiga sa uređaja." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -6140,12 +6264,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6229,8 +6353,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6266,7 +6390,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6336,15 +6460,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6449,17 +6573,28 @@ msgstr "" msgid "
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6468,185 +6603,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" "
Nemoguće poslati knjige na uređaj, nema dovoljno slobodnog prostora " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10142,7 +10321,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10653,13 +10832,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10693,8 +10872,8 @@ msgid "Location" msgstr "Lokacija" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10713,13 +10892,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10818,7 +10997,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Podudarnosti nisu pronađene" @@ -10866,12 +11045,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10966,40 +11145,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Kopirano" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11869,6 +12048,7 @@ msgstr "Prekidam..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11904,12 +12084,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Pretraga" @@ -12488,12 +12668,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12545,6 +12725,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Izdavači" @@ -12559,6 +12740,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13454,7 +13636,7 @@ msgid "&Shortcut:" msgstr "&Prečica" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13498,7 +13680,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13508,48 +13690,52 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Napredna pretraga" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" @@ -13557,19 +13743,19 @@ msgstr "" "
Pretražite listu knjiga po naslovu, autoru, izdavaču, oznakama, " "komentarima itd.Razmaci između riječi označavaju 'i'." -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Vrati Na Početak Brzog Pretraživanja" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13582,32 +13768,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Veličina (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13616,30 +13802,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "Duplo klikni za urediti mene" @@ -13747,7 +13933,7 @@ msgid "Previous Page" msgstr "Prethodna Stranica" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14245,7 +14431,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14390,15 +14576,15 @@ msgstr "&Komentar" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14406,27 +14592,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14434,38 +14620,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Skidanje omota..." @@ -14609,7 +14801,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14652,34 +14845,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Visoko" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Nisko" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Zadano" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14730,12 +14923,12 @@ msgid "Job &priority:" msgstr "&Prioritet posla:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15650,10 +15843,6 @@ msgstr "" msgid "Small" msgstr "Malo" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Velik" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Srednji" @@ -15671,7 +15860,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16655,20 +16844,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Neuspješan start sadržajnog poslužitelja" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Dnevnik grešaka:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Dnevnik pristupa:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16703,18 +16892,18 @@ msgid "Max. &OPDS items per query:" msgstr "Maksimalno &OPDS stavki po pretrazi:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -17092,83 +17281,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Pretraga (Za Naprednu Pretragu klikni na lijevi gumb)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18381,23 +18776,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Recept Onesposobljen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Neuspjelo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Imate aktivne poslove. Jeste li sigurni da hoćete prekinuti?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" @@ -18407,11 +18802,11 @@ msgstr "" " Prekid može prouzrokovati korupciju uređaja.\n" " Jeste li sigurni da hoćete da prekinete?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18958,29 +19353,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20269,8 +20664,8 @@ msgstr "" "molimo pogledajte dokumentaciju vezanu uz pretragu u Korisničkom Priručniku. " "Standardno se ne radi filtriranje." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -20278,11 +20673,11 @@ msgstr "" "Maksimalna širina svake linije u izlazu. Standardno se svodi na otkrivanje " "veličine zaslona." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "String upotrijebljen za odvajanje polja. Standardno je razmak." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -20290,15 +20685,15 @@ msgstr "" "Prefiks za puteve svih datoteka. Standardan je apsolutni put do mape " "biblioteke." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Nevažeća polja. Raspoloživa polja:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Nevažeće polje svrstavanja. Raspoloživa polja." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -20306,13 +20701,13 @@ msgstr "" "Slijedeće knjige nisu dodane jer već postoje u bazi podataka (vidi --" "duplicates opciju):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20326,7 +20721,7 @@ msgstr "" "specificirati \n" "direktorije, vidi opcije vezane za direktorije ispod.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -20334,11 +20729,11 @@ msgstr "" "Predpostavi da svaki direktorij ima samo jednu logičnu knjigu i da su sve " "datoteke unutar samo različiti ebook formati iste knjige." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Preocesiraj direktorije suvratno" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -20346,43 +20741,43 @@ msgstr "" "Dodaj knjige u bazu podataka iako već postoje. Komparacija je pravljena na " "bazi naslova knjiga." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Morate specificirati barem jednu datoteku za dodati" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20393,33 +20788,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Morate specificirati barem jednu knjigu za ukloniti" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"Dodaj ebook u ebook_file raspoloživim formatima za logičnu knjigu " -"identificiranu po id. Možete dobiti id upotrebom list naredbe. Ako format " -"već postoji, onda je zamijenjen.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Morate specificirati id i ebook datoteku" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "ebook datoteka mora imati sufiks" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20435,11 +20835,11 @@ msgstr "" "id koristeći naredbu list. fmt bi trebao biti sufix datoteke kao LRF ili TXT " "ili EPUB. Ako knjiga nema dostupan fmt, ne treba ništa poduzimati.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Morate specificirati id i format" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20455,15 +20855,15 @@ msgstr "" "identificiranu sa id.\n" "id je id broj iz naredbe list.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Metapodaci ispisa u OPF formi (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Morate specificirati id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20478,7 +20878,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20488,40 +20888,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20538,28 +20938,28 @@ msgstr "" "Operacija izvoza pohranjuje sve formate knjige, omot i metapodatke (u opf \n" "datoteku). Možete uzeti id brojeve iz list naredbe.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Izvezi sve knjige u bazi podataka, ignorirajući id listu." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Izvezi knjige u specificirani direktorij. Standardan je" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Izvezi sve knjige u jedan direktorij" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Specificiranje ovog prekidača će isključiti ovu karakteristiku." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Morate specificirati neku ids ili %s opciju" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20570,13 +20970,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20596,11 +20996,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20611,30 +21011,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Prikaži detaljne izlazne podatke. Korisno kod otkrivanja grešaka." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Greška: Morate specificirati izlaznu datoteku kataloga" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20646,17 +21046,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20665,27 +21065,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20695,15 +21095,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20716,40 +21116,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20763,13 +21163,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20777,34 +21177,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20819,18 +21219,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20838,33 +21238,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20895,32 +21295,23 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
Preseljavanje stare baze podataka na ebook biblioteku u %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5314,7 +5418,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5439,9 +5543,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5457,11 +5561,11 @@ msgid "HTML TOC generation options." msgstr "HTML Tartalomjegyzék generálás beállításai." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Értékelés" @@ -5508,6 +5612,10 @@ msgstr "" "Nem található egy összetevő : pdftohtml! \r\n" "Ellenőrizze az elérési utat." +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5675,7 +5783,7 @@ msgid "Show this confirmation again" msgstr "A megerősítés megjelenítése következő alkalommal is" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Újraindítás szükséges" @@ -5804,12 +5912,12 @@ msgstr "Könyv hozzáadásának beállításai" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5888,8 +5996,8 @@ msgstr "Hozzáadás könyvtárhoz" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6015,7 +6123,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Válassza ki a célmappát ehhez: %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6066,7 +6174,7 @@ msgid "No existing calibre library found at %s" msgstr "Nem található calibre könyvtár itt: %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Könyvtár kiválasztása" @@ -6080,7 +6188,7 @@ msgstr "Könyvtár váltás / készítés" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6092,12 +6200,12 @@ msgid "Pick a random book" msgstr "Véletlenszerű könyvkiválasztás" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Gyors könyvtárváltás" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Könyvtár átnevezése" @@ -6249,7 +6357,7 @@ msgstr "" "adatbázisban lévőkkel?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6280,7 +6388,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6323,7 +6431,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Katalógus készítése a calibre könyvtárban lévő könyvekről" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Nem lehet konvertálni" @@ -6336,89 +6444,102 @@ msgstr "%d könyv konvertálása" msgid "Empty output file, probably the conversion process crashed" msgstr "A kimeneti fájl üres, valószínűleg a konverziós folyamat lefagyott." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s cím %(author)s szerzőtől" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Könyvtár kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "Könyvtár &elérési útvonal" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Könyvtár kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "&Törlés másolás után" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Másolás más könyvtárba" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Másolja a kiválasztott könyveket a megadott könyvtárba" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(másolás után törlés)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Válassza ki a könyvtár elérési útvonalát…" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Nem másolható" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Nem lehet másolni az aktuális mappába." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nincs könyvtár" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nem található könyvtár itt: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d könyv átmásolva ide: %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "A következő könyvek nem másolhatóak: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Automatikusan összefésülve." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6428,7 +6549,7 @@ msgstr "" "célmappában. Kattintson, hogy megnézhesse melyek. Ezt a viselkedést az " "Automata összefűző eszköz kezeli (Beállítások->Könyv hozzáadása)." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6449,6 +6570,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Biztos benne?" @@ -6526,11 +6648,11 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Válassza ki a törlendő formátumokat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." @@ -6539,7 +6661,7 @@ msgstr "" "törölni.
Bármit is választ, az nem fordulhat elő, hogy az összes formátum " "törölve lesz a könyvből." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" @@ -6547,44 +6669,44 @@ msgstr "" "A kiválasztott könyvekből minden formátum törölve lesz.A könyv " "metaadatai megmaradnak. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "A könyvek nem törölhetőek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nincs csatlakoztatott eszköz" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Fő memória" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "„A” memóriakártya" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "„B” memóriakártya" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Nincs törlésre kiválasztott könyv" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "A kiválasztott könyvek nem találhatóak az eszközön" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Könyvek törlése az eszközről." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6592,21 +6714,19 @@ msgstr "" "A kiválasztott könyvek egyike egy csatlakoztatott eszközön található. " "Honnan szeretné a kijelölt fájlokat törölni?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"A kiválasztott könyvek véglegesen törlődni fognak és a fájlok " -"eltávolításra kerülnek a calibre könyvtárából. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"A kiválasztott könyvek véglegesen törlődni fognak az eszközéről. " -"Folytatja?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6681,12 +6801,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "Leállítás" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Kiszolgáló leállítása, ez egy percig is eltarthat, kérjük várjon…" @@ -6776,8 +6896,8 @@ msgstr "A metaadat letöltése meghiúsult" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "A letöltés meghiúsult" @@ -6817,7 +6937,7 @@ msgid "Download complete" msgstr "A letöltés befejeződött" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Naplófájl letöltése" @@ -6909,15 +7029,15 @@ msgstr "" "duplikált formátuma véglegesen törlődni fog a calibre könyvtárából. " "Valóban folytatni szeretné?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "A metaadat-változások jóváhagyása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Néhány hiba" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7024,17 +7144,28 @@ msgstr "" msgid "
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7043,185 +7174,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" "
Nem lehet feltölteni könyveket az eszközre, nincs elég szabad hely " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Helytelen cél" @@ -10878,7 +11053,7 @@ msgstr "Eszközinformáció megjelenítése" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11490,13 +11665,13 @@ msgid "Where do you want to delete from?" msgstr "Honnét szeretne törölni?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Könyvtár" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Eszköz" @@ -11532,8 +11707,8 @@ msgid "Location" msgstr "Hely" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11552,13 +11727,13 @@ msgstr "%(curr)s (előtte %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "Az elem üres" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Egy elem nem állítható „semmi”-re. Törölje, ha úgy gondolja." @@ -11664,7 +11839,7 @@ msgstr "Hivatkozás" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nincs találat" @@ -11712,12 +11887,12 @@ msgid "Copy to author" msgstr "Másolás a szerzőhöz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Érvénytelen szerzőnév" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "A szerzőnév nem tartalmazhat & karaktert." @@ -11820,40 +11995,40 @@ msgstr "M&inden művelet elrejtése" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Másolás a vágólapra" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "&Részletek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "&Részletek elrejtése" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "A hiba részleteinek megjelenítése" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Másolva" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Naplófájl megjelenítése" @@ -12806,6 +12981,7 @@ msgstr "Megszakítás…" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12845,12 +13021,12 @@ msgstr "Elemek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Keresés" @@ -13486,12 +13662,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Vezetéknélküli eszköz indítási hiba" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13543,6 +13719,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "&Automatikus kapcsolódás a calibre indulásakor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Kiadók" @@ -13557,6 +13734,7 @@ msgstr "Kategória keresési neve: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Érvénytelen név" @@ -14479,7 +14657,7 @@ msgid "&Shortcut:" msgstr "Billentyű¶ncs:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Kész" @@ -14525,7 +14703,7 @@ msgstr "Végrehajtandó parancs név szerinti keresése" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nincs találat" @@ -14535,48 +14713,52 @@ msgstr "Nincs találat" msgid "Could not find any shortcuts matching %s" msgstr "Nem található ilyen gyorsbillentyű: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Meghajtó kiadása" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Ezen eszköz beállítása" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Calibre könyvtár könyveinek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Az eszköz fő memóriájában lévő könyvek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Az „A” memóriakártyán lévő könyvek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "A „B” memóriakártyán lévő könyvek megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Könyvtár törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "elérhető" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Részletes keresés" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" @@ -14584,19 +14766,19 @@ msgstr "" "
Keresés a listában a cím, szerző stb alapjánA szóközzel " "elválasztott szavak az AND (ÉS) művelet alapján lesznek értelmezve" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Mehet!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Gyors-keresés indítása (az Enter billentyű megnyomása után)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "A gyors-keresés visszaállítása alapállapotba" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Az aktuális keresésszöveg másolása (a keresés név helyett)" @@ -14609,32 +14791,32 @@ msgstr "csillag" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Eszközön" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Méret (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Módosítva" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "Keresési/rendezési feltétel: „{0}”" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "A könyv UUID-je: „{0}”" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14644,32 +14826,32 @@ msgid "" msgstr "" "A könyv helyét nem sikerült megváltoztatni. Esetleg más program is használja?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Sikertelen adatbeállítás" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Nem sikerült az adatokat beállítani, további információkért kattintson a " "Részletek megjelenítésére." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Könyvtárban" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Méret" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Megjelölve törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "Dupla-kattintás a szerkesztéshez" @@ -14776,7 +14958,7 @@ msgid "Previous Page" msgstr "Előző oldal" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15310,7 +15492,7 @@ msgid "Edit Metadata" msgstr "Metaadat szerkesztése" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15468,15 +15650,15 @@ msgstr "&Megjegyzések" msgid "Basic metadata" msgstr "Alap metaadat" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Van borítója" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Van összefoglalója" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15487,29 +15669,29 @@ msgstr "" "Néha előfordul, hogy olyan könyvhöz is töltődik le\n" "borító, ami borító nélküliként volt jelölve és fordítva." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Nézze itt:" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "A calibre metaadatokat tölt le a következő helyről: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Kérem várjon" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Lekérdezés: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Nem sikerült a metaadatok letöltése. Kattintson a „Részletek” gombra a " "további információkért." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15521,42 +15703,46 @@ msgstr "" "jellemző szót adjon meg a címből.
További információkért kattintson a " "„Részletek” gombra." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Aktuális borító" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Keresés…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "%s borítójának letöltése, kérem várjon…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Nem sikerült a borító letöltése, kattintson a „Részletek” gombra további " "információkért." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Nem található borító ehhez: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"%(title)s könyvhöz %(num)d borító is található. Válassza amelyik " -"szeretné." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Metaadatok letöltése…" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Borító letöltése…" @@ -15741,10 +15927,9 @@ msgid "The Add &Process" msgstr "Könyvek hozzáadásának beállításai" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"A következő kiterjesztésű fájlok ki lesznek hagyva az automatikus " -"hozzáadásból " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -15791,34 +15976,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Automatikus hozzáadás" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Magas" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Alacsony" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Nagyon alacsony" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Kompakt elrendezés" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Alapértelmezett" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Minden egy fülön" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "Megerősítést kérő párbeszédablakok alaphelyzetbe állítva" @@ -15873,18 +16058,15 @@ msgid "Job &priority:" msgstr "Műveletek prioritása:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "A szűkítés érvénybe lép, amint az aktuális könyvtár megnyílik:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Ez a megkötés kerül alkalmazásra erre a könyvtárra való váltáskor, vagy " -"induláskor, ha ez a könyvár volt utoljára megnyitva. Ez a beállítás " -"könyvtárhoz kötött. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -16898,10 +17080,6 @@ msgstr "Nincs" msgid "Small" msgstr "Kicsi" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Nagy" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Közepes" @@ -16919,7 +17097,7 @@ msgid "Never" msgstr "Soha" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "Első betű szerint" @@ -18026,20 +18204,20 @@ msgstr "" "kattint. Ez a beállítás felülbírálható az egyes eszközöknek megfelelő " "specifikus adatokkal a Beállítások->Haladó->Bővítmények menüben." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "A kiszolgáló indítása nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Hibanapló:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "Hozzáférési naplófájl:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "A változások életbelépéséhez újra kell indítani a kiszolgálót" @@ -18081,22 +18259,19 @@ msgid "Max. &OPDS items per query:" msgstr "Maximális &OPDS elemszám kérésenként:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "Nem &csoportosított OPDS elemek maximális száma:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Szűkítés (elmentett keresés) érvényesítése:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"A mentett kereséseket felhasználva leszűkíti a tartalomkiszolgáló által " -"elérhetővé tett könyvek listáját. Ez a beállítás az aktuális könyvtárra " -"vonatkozik, tehát könyvtáranként más és más lehet." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18562,39 +18737,49 @@ msgstr "Alapértelmezett beállítás visszaállítása" msgid "Apply any changes you made to this tweak" msgstr "A végrehajtott változtatások alkalmazása" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Mentett keresés létrehozása" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Az aktuális keresés törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nincs keresés kiválasztva" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "A kiválasztott keresés véglegesen törlődik. Folytatja?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Részletes kereséshez kattintson a balra lévő gombra" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Keresés megkezdése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Keresési kiemelés engedélyezése/tiltása" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Mentett keresések" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Válassza ki a mentett keresést, vagy a név beírásával készítsen újat" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18602,47 +18787,185 @@ msgstr "" "Mentse az aktuális keresést a mezőben lévő névvel. Kattintson és tartsa " "nyomva a gombot a helyi menü megjelenítéséhez." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Mentett keresés létrehozása" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Mentett keresés törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Mentett keresések kezelése" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Aktuális keresés" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Lista szűkítése" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "A hibanapló automatikusan " "megjelenik." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "Nem sikerült elindítani a tartalomkiszolgálót" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -19878,16 +20257,16 @@ msgstr "" "calibre megkísérelje annak automatikus helyreállítását? Az adatbázis " "újraépítése nem biztos, hogy sikerülni fog." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Konvertálási hiba" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "
Failed to convert: %s" msgstr "
Nem sikerült konvertálni: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -19910,23 +20289,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "A konvertálás nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Hírösszeállítás letiltva" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Folyamatban van néhány művelet végrehajtása. Megszakítja?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" @@ -19936,11 +20315,11 @@ msgstr "" " A kilépés adatvesztést okozhat az eszközön.\n" " Biztos, hogy ki akar lépni??" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Folyamatban lévő műveletek" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20500,29 +20879,29 @@ msgstr "Alpértelmezett betűméret" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Nagyítás" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "&Kicsinyítés" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Mentés másként" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "Fo&rgatás" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Kép megtekintése: %s" @@ -21891,20 +22270,20 @@ msgstr "" "a Felhasználói Kézikönyv ide vonatkozó részét. Alapértelmezésként nincs " "szűrés." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" "Egy sor maximális szélessége a kimenetben. A képernyőmérethez szükséges." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" "A mezők elválasztására szolgáló karakter vagy szöveg. Alapbeállítás a szóköz." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -21912,15 +22291,15 @@ msgstr "" "Minden elérési útvonal előtagja. Alapértelmezettként az adatbázis mappájának " "elérési útja." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Érvénytelen mező. Lehetséges mezők:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Érvénytelen rendezési mező. Elérhető mezők:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -21928,13 +22307,13 @@ msgstr "" "A következő könyvek nem lettek hozzáadva az adatbázishoz, mert már léteznek " "(lásd még --duplicates beállítása):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "Könyvazonosítók hozzáadva: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -21947,18 +22326,18 @@ msgstr "" "A megadott fájlok könyvként kerülnek az adatbázisba. Mappákat is megadhat.\n" "Lásd, mappákhoz köthető kapcsolók.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" "Feltéve, hogy minden mappa egy könyv különböző formátumait tartalmazza" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Az összes almappát is beleértve" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -21966,43 +22345,43 @@ msgstr "" "Könyv hozzáadása az adatbázishoz akkor is, ha már létezik. Az " "összehasonlítás a könyvcímek alapján történik." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Üres könyv hozzáadása (egy könyv formátum nélkül)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "A hozzáadott könyv(ek) címének megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "A hozzáadott könyv(ek) szerzőjének megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "A hozzáadott könyv(ek) ISBN-számának megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "A hozzáadott könyv(ek) címkéinek megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "A hozzáadott könyv(ek) sorozatának megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "A hozzáadott könyv(ek) sorozatszámának megadása" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "Legalább egy hozzáadandó fájlt meg kell határozni" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22019,33 +22398,38 @@ msgstr "" "meg). Például: 23,34,57-85 (tartomány megadásakor a tartomány utolsó eleme " "nem lesz figyelembe véve).\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "Legalább egy könyvet ki kell jelölni az eltávolításhoz" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [kapcsolók] id ebook_fájl\n" -"\n" -"Az „ebook_fájl” hozzáadása az „id”-vel megadott könyvhöz. A könyv „id”-je " -"lekérdezhető a „list” paranccsal. Ha az „ebook_fájl” formátuma már létezik " -"ehhez a könyvhöz, akkor az felül lesz írva az újjal.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "Meg kell adnia egy azonosítót és egy e-book fájlt." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "az e-book fájlnak rendelkeznie kell fájlkiterjesztéssel" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22062,11 +22446,11 @@ msgstr "" "mint például LRF, TXT vagy EPUB. Ha az „id”-vel megadott könyv nem " "tartalmazza a „formátum”-ot, akkor a parancs nem csinál semmit.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "Meg kell adnia egy azonosítót és egy formátumot" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22081,15 +22465,15 @@ msgstr "" "Az adatbázisban az 'id'-vel jelölt könyv metaadatainak megjelenítése.\n" "Az 'id' a 'list' paranccsal kilistázott értékek egyike.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Metaadatok nyomtatása OPF(XML) formátumban" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "Meg kall adnia az azonosítót" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22104,7 +22488,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22114,40 +22498,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Mezőnév" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "Nem ismert mező: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22164,32 +22548,32 @@ msgstr "" "elmenti.\n" "A könyvek ID-i (azonosítói) lekérdezhetőek a 'list' paranccsal.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" "Minden könyv exportálása az adatbázisba. Ne vegye figyelembe az azonosító " "(ID) listát." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" "Az adatbázisban lévő könyvek exportálása egy meghatározott mappába. " "Alapértelmezett:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Minden könyv exportálása egy mappába" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Ennek megadása kikapcsolja ezt az opciót." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "Meg kell adnia néhány ID-t vagy a %s opciót" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22207,7 +22591,7 @@ msgstr "" "felhasználóbarát címe.\n" "Az „adattípus” lehet: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22215,7 +22599,7 @@ msgstr "" "Az oszlop címke-szerű (több elem, vesszővel tagolva) adatokat tárol. Csak " "szöveg adattípusnál használható." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22235,11 +22619,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Meg kell adnia a címkét, a nevet és az adatbázist" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22258,7 +22642,7 @@ msgstr "" " A kapcsolókkal állíthatja be a generált fájl bejegyzéseit.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22268,7 +22652,7 @@ msgstr "" "Ha meg van adva, akkor a --search opció nem lesz figyelembe véve.\n" "Alapértelmezett: „all” (mind)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22278,17 +22662,17 @@ msgstr "" "formátumáról bővebben a Felhasználói Kézikönyvben olvashat.\n" "Alapértelmezett: nincs szűrés" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" "Részletes kimeneti információk megjelenítése. Hasznos hibakeresésnél." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Hiba: Meg kell adnia egy katalógus kimeneti fájlt" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22307,7 +22691,7 @@ msgstr "" " Az egyéni oszlopok nevet a „custom_columns” paranccsal listázhatja ki.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22315,11 +22699,11 @@ msgstr "" "Ha az oszlop több értéket tárol, akkor a megadott értéket adja a meglévőkhöz " "és cserélje le őket." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Hiba: Meg kell adnia a mezőnevet, az id-t és az értéket" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22334,27 +22718,27 @@ msgstr "" "azonosítóját.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Részletek mutatása minden oszlopnál." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "i" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22372,15 +22756,15 @@ msgstr "" " a „custom_columns” paranccsal listázhatja ki.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Ne kelljen megerősíteni" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Hiba: Meg kell adnia az oszlop nevét" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22402,42 +22786,42 @@ msgstr "" " akkor az le lesz cserélve\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Hiba: Meg kell adnia egy műveletet (hozzáadás|eltávolítás|listázás)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Név:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Karakterlánc keresése:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Hiba: Meg kell adnia egy nevet és egy keresési szót" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "hozzáadva" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Hiba: Meg kell adnia egy nevet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "eltávolítva" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Hiba: ismeretlen művelet: %s. A következők egyike kell, hogy legyen: " "(add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22451,13 +22835,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22469,12 +22853,12 @@ msgstr "" "Néhány ellenőrzés lefuttatása a könyvtár belső fájlrendszerén. " "Visszajelzések: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "CSV kimenet" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22482,7 +22866,7 @@ msgstr "" "A naplók vesszővel elválasztott listája.\n" "Alapértelmezés: mind" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22490,7 +22874,7 @@ msgstr "" "A kihagyandó kiterjesztések vesszővel tagolt listája.\n" "Alapértelmezett: all (mind)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22498,11 +22882,11 @@ msgstr "" "Vesszővel elválasztott lista a kihagyandó nevekkel.\n" "Alapértelmezett: Összes" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Ismeretlen riportellenőrzés" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22531,7 +22915,7 @@ msgstr "" "tároltak szerint jelennek meg az újraépített adatbázisban.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22539,12 +22923,12 @@ msgstr "" "Tényleg állítsa vissza az adatbázist. Enélkül az opció nélkül nem fut a " "parancs." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "A következő opciót kell megadnia a helyreállításhoz: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22556,7 +22940,7 @@ msgstr "" "Kategória Információkat jelenít meg az adatbázisból.\n" "Ezek az információk megegyeznek a címkepanelen láthatókkal.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" @@ -22564,7 +22948,7 @@ msgstr "" "Csak a kategórián belüli elemek számát adja meg az egyes elemekhez tartozó " "darabszámok helyett" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22572,7 +22956,7 @@ msgstr "" "A kategóriák e jel közé lesznek zárva CSV módban. Alapértelmezett az " "idézőjel (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22580,15 +22964,15 @@ msgstr "" "A kategória keresőneveinek vesszővel elválasztott listája.\n" "Alapértelmezett: all (mind)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "CSV módban a mezőket elválasztó jel. Alapértelmezett: vessző" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "KATEGÓRIA ELEMEK" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22621,31 +23005,22 @@ msgstr "" "A felirat csak kicsi angol betűket, számokat és alul-vonást tartalmazhat és " "mindig betűvel kell kezdődnie" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "egyéni oszlop készítése " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
Régi adatbázis migrálása a jelenlegibe: %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4665,7 +4769,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4790,9 +4894,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4808,11 +4912,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4855,6 +4959,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5009,7 +5117,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5131,12 +5239,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5213,8 +5321,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5335,7 +5443,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5383,7 +5491,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5397,7 +5505,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5409,12 +5517,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5554,7 +5662,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5582,7 +5690,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5623,7 +5731,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5636,96 +5744,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5744,6 +5865,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5816,75 +5938,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5960,12 +6084,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6049,8 +6173,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6086,7 +6210,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6156,15 +6280,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6269,17 +6393,28 @@ msgstr "" msgid "
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6288,185 +6423,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9931,7 +10110,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10442,13 +10621,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10482,8 +10661,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10502,13 +10681,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10607,7 +10786,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10655,12 +10834,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10755,40 +10934,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11656,6 +11835,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11691,12 +11871,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12270,12 +12450,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12327,6 +12507,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12341,6 +12522,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13217,7 +13399,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13261,7 +13443,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13271,66 +13453,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13343,32 +13529,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13377,30 +13563,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "" @@ -13505,7 +13691,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14003,7 +14189,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14148,15 +14334,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14164,27 +14350,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14192,38 +14378,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14364,7 +14556,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14407,34 +14600,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14483,12 +14676,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15401,10 +15594,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15422,7 +15611,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16390,20 +16579,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16436,18 +16625,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16822,83 +17011,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18109,34 +18504,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18677,29 +19072,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19947,44 +20342,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19993,59 +20388,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20056,28 +20451,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20087,11 +20492,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20101,15 +20506,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20124,7 +20529,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20134,40 +20539,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20178,28 +20583,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20210,13 +20615,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20236,11 +20641,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20251,30 +20656,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20286,17 +20691,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20305,27 +20710,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20335,15 +20740,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20356,40 +20761,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20403,13 +20808,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20417,34 +20822,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20459,18 +20864,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20478,33 +20883,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20527,31 +20932,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4639,7 +4743,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4764,9 +4868,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4782,11 +4886,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4829,6 +4933,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4983,7 +5091,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5105,12 +5213,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5187,8 +5295,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5309,7 +5417,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5357,7 +5465,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5371,7 +5479,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5383,12 +5491,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5528,7 +5636,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5556,7 +5664,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5597,7 +5705,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5610,96 +5718,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5718,6 +5839,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5790,75 +5912,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 @@ -5934,12 +6058,12 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "" @@ -6023,8 +6147,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "" @@ -6060,7 +6184,7 @@ msgid "Download complete" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "" @@ -6130,15 +6254,15 @@ msgid "" "Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -6243,17 +6367,28 @@ msgstr "" msgid "
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6262,185 +6397,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -9905,7 +10084,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10416,13 +10595,13 @@ msgid "Where do you want to delete from?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "" @@ -10456,8 +10635,8 @@ msgid "Location" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10476,13 +10655,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -10581,7 +10760,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "" @@ -10629,12 +10808,12 @@ msgid "Copy to author" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "" @@ -10729,40 +10908,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "" @@ -11630,6 +11809,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -11665,12 +11845,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "" @@ -12244,12 +12424,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12301,6 +12481,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "" @@ -12315,6 +12496,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "" @@ -13191,7 +13373,7 @@ msgid "&Shortcut:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "" @@ -13235,7 +13417,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "" @@ -13245,66 +13427,70 @@ msgstr "" msgid "Could not find any shortcuts matching %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "" @@ -13317,32 +13503,32 @@ msgstr "" msgid "Y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13351,30 +13537,30 @@ msgid "" "program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "" @@ -13479,7 +13665,7 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -13977,7 +14163,7 @@ msgid "Edit Metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14122,15 +14308,15 @@ msgstr "" msgid "Basic metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14138,27 +14324,27 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14166,38 +14352,44 @@ msgid "" "Details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "" @@ -14338,7 +14530,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14381,34 +14574,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "" @@ -14457,12 +14650,12 @@ msgid "Job &priority:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" +msgid "Virtual library to apply when the current library is opened:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" @@ -15375,10 +15568,6 @@ msgstr "" msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "" @@ -15396,7 +15585,7 @@ msgid "Never" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "" @@ -16364,20 +16553,20 @@ msgid "" "by customizing the device interface plugins in Preferences->Advanced->Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "" @@ -16410,18 +16599,18 @@ msgid "Max. &OPDS items per query:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" +msgid "Max. &ungrouped items:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" +msgid "Virtual library to apply:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 @@ -16796,83 +16985,233 @@ msgstr "" msgid "Apply any changes you made to this tweak" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 -msgid "Delete current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 -msgid "No search is selected" +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18083,34 +18478,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" " Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -18651,29 +19046,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -19921,44 +20316,44 @@ msgid "" "to do no filtering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -19967,59 +20362,59 @@ msgid "" "the directory related options below.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20030,28 +20425,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20061,11 +20466,11 @@ msgid "" "EPUB. If the logical book does not have fmt available, do nothing.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20075,15 +20480,15 @@ msgid "" "id is an id number from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20098,7 +20503,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20108,40 +20513,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20152,28 +20557,28 @@ msgid "" "an opf file). You can get id numbers from the list command.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -20184,13 +20589,13 @@ msgid "" "datatype is one of: {0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -20210,11 +20615,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -20225,30 +20630,30 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -20260,17 +20665,17 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -20279,27 +20684,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -20309,15 +20714,15 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -20330,40 +20735,40 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -20377,13 +20782,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -20391,34 +20796,34 @@ msgid "" "{0}\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -20433,18 +20838,18 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -20452,33 +20857,33 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -20501,31 +20906,22 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -5480,12 +5589,8 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" -"Inserisci una \"copertina\" all'inizio del libro che contiene\n" -"tutti i metadati del libro quali, titolo, parole chiave, autori, serie, " -"commenti\n" -"etc.
" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 msgid "Remove a previous inserted book jacket page.
\n" @@ -5565,6 +5670,9 @@ msgid "" "Path to a cover image. Changes the cover specified in the ebook. If no cover " "is present, or the cover is not properly identified, inserts a new cover." msgstr "" +"Percorso a un'immagine di copertina. Cambia la copertina specificate " +"nell'ebook. Se non è presente alcuna copertina, o la copertina non viene " +"identificata correttamente, inserisce una nuova copertina." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:205 msgid "" @@ -5610,9 +5718,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "L'ancora %(a)s non esiste nel file %(f)s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "(Senza titolo)" @@ -5628,11 +5736,11 @@ msgid "HTML TOC generation options." msgstr "Opzioni per creazione della TOC (indice contenuti) da HTML" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "Valutazione" @@ -5679,6 +5787,10 @@ msgstr "Pagina %d" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "Impossibile trovare pdftohtml, verificare che sia nel proprio PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "Senza titolo" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5851,7 +5963,7 @@ msgid "Show this confirmation again" msgstr "Mostra ancora questa conferma" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "Riavvio richiesto" @@ -5978,12 +6090,12 @@ msgstr "Controlla l'aggiunta di libri" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -6065,8 +6177,8 @@ msgstr "Aggiungi alla biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -6192,7 +6304,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleziona la destinazione per %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -6243,7 +6355,7 @@ msgid "No existing calibre library found at %s" msgstr "Non è stata trovata una biblioteca esistente di calibre in %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "Scegli la biblioteca" @@ -6257,7 +6369,7 @@ msgstr "Cambia/crea biblioteca..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -6269,12 +6381,12 @@ msgid "Pick a random book" msgstr "Scegli un libro a caso" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "Cambiamento rapido" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "Rinomina biblioteca" @@ -6430,7 +6542,7 @@ msgstr "" "informazioni nel database?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -6461,7 +6573,7 @@ msgstr "I file nella libreria corrispondono alle informazioni nel database." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -6505,7 +6617,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "Crea un catalogo di libri nella biblioteca di calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "Impossibile convertire" @@ -6519,89 +6631,102 @@ msgid "Empty output file, probably the conversion process crashed" msgstr "" "File di output vuoto, probabilmente il processo di conversione non è riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "%(title)s di %(author)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "Seleziona biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "&Percorso della biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "Cerca le biblioteche" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "Eli&mina dopo la copia" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "Copia nella biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "Copia i libri selezionati nella biblioteca specificata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(elimina dopo la copia)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "Scegli la biblioteca da percorso..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "Impossibile copiare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "Impossibile copiare la biblioteca attuale." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "Nessuna biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "Nessuna biblioteca trovata in %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "Copia in" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "Spostamento in" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "Copiati %(num)d libri in %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "Spostati %(num)d in %(loc)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "Impossibile copiare i libri: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "Unito automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " @@ -6612,7 +6737,7 @@ msgstr "" "Questo comportamento dall'opzione di Unione automatica in Preferenze -> " "Aggiunta libri." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6633,6 +6758,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "Sei sicuro?" @@ -6711,11 +6837,11 @@ msgid "" msgstr "" "Il formato %(fmt)s sarà eliminato definitivamente da %(title)s." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "Seleziona i formati da eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." @@ -6723,7 +6849,7 @@ msgstr "" "Scegli i formati chenon devono essere eliminati.
Nota che questo " "non rimuoverà tutti i formati da un libro." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "All formats for the selected books will be deleted from your " "library.The book metadata will be kept. Are you sure?" @@ -6731,44 +6857,44 @@ msgstr "" "Tutti i formati dei libri selezionati saranno eliminati dalla " "biblioteca.I metadati dei libri saranno mantenuti. Sei sicuro?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260 msgid "Cannot delete books" msgstr "Impossibile eliminare i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261 msgid "No device is connected" msgstr "Nessun dispositivo collegato" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 msgid "Main memory" msgstr "Memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:703 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:712 msgid "Storage Card A" msgstr "Scheda di memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:705 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Storage Card B" msgstr "Scheda di memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278 msgid "No books to delete" msgstr "Nessun libro da eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279 msgid "None of the selected books are on the device" msgstr "Nessuno dei libri selezionati è sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400 msgid "Deleting books from device." msgstr "Eliminazione dei libri dal dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345 msgid "" "Some of the selected books are on the attached device. Where do you " "want the selected files deleted from?" @@ -6776,21 +6902,19 @@ msgstr "" "Alcuni dei libri selezionati sono sul dispositivo connesso.Da dove si " "desidera che i file selezionati siano eliminati?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357 +#, python-format msgid "" -"The selected books will be permanently deleted and the files removed " -"from your calibre library. Are you sure?" +"The %d selected book(s) will be permanently deleted and the files " +"removed from your calibre library. Are you sure?" msgstr "" -"I libri selezionati saranno eliminati definitivamente e i file " -"rimossi dalla biblioteca di calibre. Continuare?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392 +#, python-format msgid "" -"The selected books will be permanently deleted from your device. Are " -"you sure?" +"The %d selected book(s) will be permanently deleted from your device. " +"Are you sure?" msgstr "" -"I libri selezionati saranno eliminati definitivamente
dal " -"dispositivo. Sei sicuro?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33 msgid "Start wireless device connection" @@ -6867,12 +6991,12 @@ msgstr "" "Connettiti a dispositivi speciali, ecc." #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84 msgid "Stopping" msgstr "In arresto" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85 msgid "Stopping server, this could take upto a minute, please wait..." msgstr "Server in arresto. Attendere: potrebbe richiedere qualche minuto." @@ -6959,8 +7083,8 @@ msgstr "Scaricamento metadati non riuscito" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898 msgid "Download failed" msgstr "Scaricamento non riuscito" @@ -7002,7 +7126,7 @@ msgid "Download complete" msgstr "Scaricamento completato" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 msgid "Download log" msgstr "Registro scaricamenti" @@ -7096,15 +7220,15 @@ msgstr "" "sarà definitivamente eliminato dalla biblioteca di calibre. " "Sei sicuro di voler continuare?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541 msgid "Applying changed metadata" msgstr "Applica i cambiamenti ai metadati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630 msgid "Some failures" msgstr "Alcuni errori" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." @@ -7212,17 +7336,28 @@ msgstr "Pulisci %d libri" msgid "If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -7231,186 +7366,197 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "" "
Impossibile inviare i libri al dispositivo poiché non c'è spazio " "sufficiente " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "Destinazione non corretta" @@ -11106,7 +11290,7 @@ msgstr "Mostra informazioni sul dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -11746,13 +11930,13 @@ msgid "Where do you want to delete from?" msgstr "Da dove vuoi eliminare?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "Biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "Dispositivo" @@ -11788,8 +11972,8 @@ msgid "Location" msgstr "Posizione" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -11808,13 +11992,13 @@ msgstr "%(curr)s (era %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "L'elemento è vuoto" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "Un elemento non può essere impostato a niente. Eliminalo piuttosto." @@ -11923,7 +12107,7 @@ msgstr "Collegamento" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "Nessuna corrispondenza trovata" @@ -11971,12 +12155,12 @@ msgid "Copy to author" msgstr "Copia in autore" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "Nome dell'autore non valido" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "I nomi degli autori non possono contenere caratteri &." @@ -12078,40 +12262,40 @@ msgstr "Nascon&di tutti i lavori" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "&Copia negli appunti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "Mostra i &dettagli" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "Nascondi i &dettagli" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "Mostra informazioni dettagliate su questo errore" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "Copiato" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "Mostra log" @@ -13068,6 +13252,7 @@ msgstr "Interruzione in corso..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -13106,12 +13291,12 @@ msgstr "Elementi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "Cerca" @@ -13764,12 +13949,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "Il numero di porta deve essere compreso tra 8000 e 32000." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "Problema durante l'avvio del dispositivo wireless" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -13828,6 +14013,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "Consenti &automaticamente connessioni all'avvio di calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "Editori" @@ -13842,6 +14028,7 @@ msgstr "Nome di ricerca della categoria: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "Nome non valido" @@ -14760,7 +14947,7 @@ msgid "&Shortcut:" msgstr "&Scorciatoia:" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "Completato" @@ -14806,7 +14993,7 @@ msgstr "Cerca una scorciatoia per nome" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "Nessuna corrispondenza" @@ -14816,48 +15003,52 @@ msgstr "Nessuna corrispondenza" msgid "Could not find any shortcuts matching %s" msgstr "Impossibile trovare una scorciatoia che corrisponde a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "Espelli questo dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "Configura il dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "Mostra libri nella biblioteca calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "Mostra libri nella memoria principale del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "Mostra i libri nella scheda di memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "Mostra i libri nella scheda di memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "Elimina biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "Ricerca avanzata" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" @@ -14865,19 +15056,19 @@ msgstr "" "
Cerca nella lista dei libri per titolo, autore, editore, tag, commenti, " "etc. Parole separate da spazi usano l'operatore AND" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Vai" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "Esegui ricerca veloce (puoi premere anche il tasto Invio)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "Ripristina ricerca veloce" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "Copia il testo della ricerca corrente (invece di cercare il nome)" @@ -14890,32 +15081,32 @@ msgstr "stelle" msgid "Y" msgstr "S" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "Sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "Dimensione (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "Modificato" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "La parola chiave è «{0}»" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "Lo UUID di questi libri è \"{0}\"" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -14926,32 +15117,32 @@ msgstr "" "Non è possibile cambiare la posizione sul disco di questo libro. È aperto da " "qualche altro programma?" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "Impostazione dati non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "" "Impossibile impostare i dati, fai clic su Mostra dettagli per conoscere la " "causa." -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "Nella biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "Dimensione" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "Marcato per l'eliminazione" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "Doppio clic per modificare" @@ -15058,7 +15249,7 @@ msgid "Previous Page" msgstr "Pagina precedente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -15599,7 +15790,7 @@ msgid "Edit Metadata" msgstr "Modifica metadati" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -15752,15 +15943,15 @@ msgstr "&Commenti" msgid "Basic metadata" msgstr "Metadati di base" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "Ha la copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "Ha il sommario" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -15768,29 +15959,29 @@ msgid "" "cover stage, and vice versa." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "Vedere su" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibre sta scaricando i metadati da: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "Attendere" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "Ricerca: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" "Errore nello scaricamento dei metadata. Premi Mostra dettagli per vedere i " "dettagli" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -15802,41 +15993,48 @@ msgstr "" "ed una singola parola distintiva del titolo.
Per vedere l'intero registro, " "premi Mostra dettagli." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "Copertina attuale" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "Ricerca in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "Scaricamento copertine da %s, attendere..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" "Scaricamento delle copertine non riuscito, fai clic su \"Mostra dettagli\" " "per informazioni." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "Impossibile trovare una copertina per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." msgstr "" -"Trovate %(num)d copertine di %(title)s. Scegli quella che preferisci." +"Sono state trovate %(num)d possibili copertine di %(title)s. Al " +"termine del download le copertine saranno ordinate per dimensione." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "Scaricamento metadati in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "Scaricamento della copertina..." @@ -15995,9 +16193,9 @@ msgid "The Add &Process" msgstr "Il &processo di aggiunta" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" -"Ignora i file con le seguenti estensioni in caso di aggiunta automatica " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 msgid "" @@ -16049,34 +16247,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "&Aggiunta automatica" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "Massima" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "Minima" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "Molto basso" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "Metadati compatti" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "Predefinito" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "Tutto in una scheda" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "I dialoghi di conferma sono stati ripristinati" @@ -16132,18 +16330,15 @@ msgid "Job &priority:" msgstr "&Priorità dei lavori:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "Restrizione da applicare quando la biblioteca attuale è aperta:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"Applica questa restrizione all'avvio di calibre se la biblioteca attuale è " -"in uso. Applica anche quando si seleziona questa biblioteca. Questa " -"impostazione vale per biblioteca. " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -17141,10 +17336,6 @@ msgstr "Spento" msgid "Small" msgstr "Piccola" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "Grande" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "Media" @@ -17162,7 +17353,7 @@ msgid "Never" msgstr "Mai" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "In base all'iniziale" @@ -18273,20 +18464,20 @@ msgstr "" "sovrascritta per ogni dispositivo nell'interfaccia dei plugin del " "dispositivo in «Preferenze->Avanzate->Plugin»" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "Avvio del server dei contenuti non riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "Log degli errori:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "File di log degli accessi:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "È necessario riavviare il server per rendere effettive le modifiche" @@ -18327,23 +18518,19 @@ msgid "Max. &OPDS items per query:" msgstr "Num. massimo di elementi &OPDS per richiesta:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "N&um. massimo di elementi OPDS sparsi:" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "Restrizione (ricerche salvate) da applicare:" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"Questa restrizione (basata sulle ricerche salvate) limiterà i libri " -"corrispondenti alla ricerca che il server di contenuti metterà a " -"disposizione. Questa impostazione è per biblioteca (cioè è possibile avere " -"più restrizioni per biblioteca)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -18815,40 +19002,50 @@ msgstr "Ripristina pre&definiti" msgid "Apply any changes you made to this tweak" msgstr "Applica tutte le modifiche fatte a questa ottimizzazione" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "Crea una ricerca salvata" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "Elimina la ricerca corrente" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "Nessun ricerca selezionata" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" "La ricerca selezionata verrà definitivamente eliminata. Continuare?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "Cerca (per la ricerca avanzata fai clic sul pulsante a sinistra)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "Avvia la ricerca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "Abilita o disabilita l'evidenziazione di ricerca." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "Ricerche salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "Scegli ricerca salvata o inserisci il nome della nuova ricerca" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." @@ -18856,47 +19053,185 @@ msgstr "" "Salva la ricerca corrente con il nome mostrato nel riquadro. Premi e tieni " "premuto per un menu di opzioni a comparsa." -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "Crea una ricerca salvata" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "Elimina una ricerca salvata" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "Gestisci le ricerche salvate" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*Ricerca corrente" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "Limita a" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "Il registro sarà visualizzato " "automaticamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "L'avvio del server dei contenuti non è riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -20153,16 +20544,16 @@ msgstr "" "calibre provi a ricostruirlo automaticamente? La ricostruzione potrebbe non " "avvenire completamente." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "Errore di conversione" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "
Failed to convert: %s" msgstr "
Conversione non riuscita: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -20206,23 +20597,23 @@ msgstr "" "leggere l'EPUB.\n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "Conversione non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "Ricetta disattivata" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "Non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Ci sono lavori attivi. Vuoi uscire comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" @@ -20233,11 +20624,11 @@ msgstr "" "sul dispositivo.\n" " Interrompere comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "Lavori attivi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -20817,29 +21208,29 @@ msgstr "Dimensione del carattere predefinita" msgid "S&earch Google for '%s'" msgstr "Cerca '%s' in Google" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "&Ingrandisci" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "Rimpicci&olisci" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "&Salva come" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "&Ruota" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "Scegli un file da salvare" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "Visualizza immagine: %s" @@ -22242,8 +22633,8 @@ msgstr "" "documentazione relativa alla ricerca nel Manuale Utente. L'opzione " "predefinita è quella di non filtrare." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." @@ -22251,11 +22642,11 @@ msgstr "" "La larghezza massima di una singola linea nell'output. L'impostazione " "predefinita è quella di rilevare la dimensione dello schermo." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "La stringa usata per separare i campi. Predefinita: uno spazio." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." @@ -22263,15 +22654,15 @@ msgstr "" "Il prefisso per tutti i percorsi. L'impostazione predefinita è il percorso " "alla cartella della biblioteca." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "Campi non validi. Campi disponibili:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "Campo per l'ordinamento non valido. Campi disponibili:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" @@ -22279,13 +22670,13 @@ msgstr "" "I seguenti libri non sono stati aggiunti perché già esistenti nel database " "(vedere l'opzione --duplicates):" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "ID libri aggiunti: %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -22299,7 +22690,7 @@ msgstr "" "specificare cartelle, vedere\n" "la cartella sottostante relativa alle opzioni.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" @@ -22307,11 +22698,11 @@ msgstr "" "Assume che ogni cartella abbia un solo libro logico e che tutti i file " "presenti siano diversi formati per quel libro" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "Elabora cartelle ricorsivamente" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." @@ -22319,43 +22710,43 @@ msgstr "" "Aggiunge libri al database anche se esistono già. Il confronto è basato sui " "titoli." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "Aggiungi un libro vuoto (un libro senza formati)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "Imposta il titolo dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "Imposta gli autori dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "Imposta l'ISBN dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "Imposta i tag dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "Imposta le serie dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "Imposta il numero della serie dei libri aggiunti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "Percorso della copertina da utilizzare per il libro aggiunto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "È necessario specificare almeno un file da aggiungere" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -22366,33 +22757,38 @@ msgid "" "included).\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "È necessario specificare almeno un libro da aggiungere" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [opzioni] id ebook_file\n" -"\n" -"Aggiunge l'ebook in ebook_file ai formati disponibili per il libro logico " -"identificato da id. È possibile ottenere gli id usando il comando list. Se " -"il formato esiste già, verrà sovrascritto.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "È necessario specificare un id e un file ebook" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "I file ebook devono avere un'estensione" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -22409,11 +22805,11 @@ msgstr "" "file come LRF, TXT o EPUB. Se il libro logico non ha un fmt disponibile, non " "fa niente.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "È necessario specificare un id e un formato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -22429,15 +22825,15 @@ msgstr "" "con id.\n" "id è un numero dalla lista dei comandi.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "Stampa i metadati in formato OPF (XML)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "È necessario specificare un id" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -22452,7 +22848,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -22462,42 +22858,42 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" "Elenca i nomi dei campi di metadati che possono essere utilizzati con " "l'opzione --field" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "Nome del campo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "Devi specificare l'id di un record come primo argomento" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "Devi specificare un campo o un file opf" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "Nessun libro con id: %s nel database" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "Il file OPF %s non esiste" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "%s non è un campo conosciuto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -22515,28 +22911,28 @@ msgstr "" "(in un file opf). È possibile prendere i numeri di id dalla lista dei " "comandi.\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "Esporta tutti i libri del database, ignorando la lista di id." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "Esporta i libri nella cartella specificata. Predefinita:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "Esporta tutti i libri nella stessa cartella" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "Selezionando questa opzione verrà disattivata questa funzione." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "È necessario specificare qualche id o l'opzione %s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -22554,7 +22950,7 @@ msgstr "" "colonna.\n" "tipo è uno di: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." @@ -22562,7 +22958,7 @@ msgstr "" "Questa colonna salva i tag come dati (es. valori separati da virgole). " "Applicato solo se il tipo di dato è testo." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -22582,11 +22978,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "Specificare etichetta, nome e tipo di dato" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -22606,7 +23002,7 @@ msgstr "" "catalogo generato.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -22616,7 +23012,7 @@ msgstr "" "Se dichiarati, --search è ignorata.\n" "Valore predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -22627,16 +23023,16 @@ msgstr "" "nel Manuale utente.\n" "Predefinito: nessun filtraggio" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "Mostra un output dettagliato. Utile per il debug" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "Errore: devi specificare un file di output del catalogo" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -22657,7 +23053,7 @@ msgstr "" "custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." @@ -22665,11 +23061,11 @@ msgstr "" "Se la colonna salva più valori, aggiunge i valori specificati a quelli " "esistenti, altrimenti li sostituisce." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "Errore: Specificare nome del campo, id e valore" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -22684,27 +23080,27 @@ msgstr "" "colonna e gli id.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "Mostra i dettagli per ogni colonna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "Perderai tutti i dati nella colonna: %s. Sei sicuro (s/n)? " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "s" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -22721,15 +23117,15 @@ msgstr "" " colonne disponibili utilizzare il comando custom_columns.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "Non chiedere conferma" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "Errore: Specificare un etichetta per la colonna" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -22751,41 +23147,41 @@ msgstr "" "nuova.\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "Errore: devi specificare un'azione (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "Nome:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "Stringa di ricerca:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "Errore: devi specificare un nome e una stringa di ricerca" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "aggiunto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "Errore: devi specificare un nome" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "rimosso" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" "Errore: azione %s non riconosciuta, deve essere una tra: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -22799,7 +23195,7 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." @@ -22807,7 +23203,7 @@ msgstr "" "Di solito, questo comando opera solo su libri che hanno file OPF datati. " "Questa opzione lo applica a tutti i libri." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -22819,12 +23215,12 @@ msgstr "" "Esegue alcuni controlli sul filesystem che rappresenta la biblioteca. I " "rapporti sono {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "Output in CSV" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -22832,7 +23228,7 @@ msgstr "" "Elenco separato da virgole dei rapporti.\n" "Predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -22840,7 +23236,7 @@ msgstr "" "Elenco separato da virgole delle estensioni che devono essere ignorate.\n" "Predefinito: tutte" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -22848,11 +23244,11 @@ msgstr "" "Elenco separato da virgole dei nomi da ignorare.\n" "Predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "Risultato sconosciuto" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -22867,7 +23263,7 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." @@ -22875,12 +23271,12 @@ msgstr "" "Effettua realmente il ripristino. Il comando non sarà eseguito a meno che " "questa opzione non sia specificata." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "Devi fornire l'opzione %s per effettuare il ripristino" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -22888,13 +23284,13 @@ msgid "" "information is the equivalent of what is shown in the tags pane.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." @@ -22902,7 +23298,7 @@ msgstr "" "Il carattere con il quale delimitare il valore della categoria in modalità " "CSV. In modo predefinito, sono utilizzati i doppi apici (\")." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -22910,17 +23306,17 @@ msgstr "" "Elenco separato da virgole di nomi di ricerca per categorie.\n" "Predefinito: tutti" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" "La stringa usata per separare i campi in modalità CSV. Il separatore " "predefinito è la virgola." -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "ELEMENTI CATEGORIA" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -22953,32 +23349,23 @@ msgstr "" "L'etichetta può contenere solo lettere minuscole, numeri e trattini bassi, e " "deve iniziare con una lettera" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "preferenza ripristinata " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "creazione colonna personalizzata " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr " (%s libri)" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
Migrazione del vecchio database nella biblioteca in %s
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4930,7 +5034,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -5055,9 +5159,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -5073,11 +5177,11 @@ msgid "HTML TOC generation options." msgstr "HTML 目次生成オプション" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "評価" @@ -5120,6 +5224,10 @@ msgstr "%d ページ" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "pdftohtmlが見つかりません。PATHをチェックしてください。" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -5274,7 +5382,7 @@ msgid "Show this confirmation again" msgstr "この確認をまた出す。" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "再起動が必要です。" @@ -5396,12 +5504,12 @@ msgstr "書籍の追加をコントロール" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5478,8 +5586,8 @@ msgstr "ライブラリに追加" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5600,7 +5708,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "保存先を選択: %(title)s.%(fmt)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5650,7 +5758,7 @@ msgid "No existing calibre library found at %s" msgstr "calibreのライブラリが%sにありません" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "ライブラリを選択" @@ -5664,7 +5772,7 @@ msgstr "ライブラリの切り替え/作成..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5676,12 +5784,12 @@ msgid "Pick a random book" msgstr "ランダムに本を選択" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "クイック・スイッチ" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "ライブラリの名前の変更" @@ -5826,7 +5934,7 @@ msgstr "" "calibreライブラリのデータベースにエラーは見つかりませんでした。データベースの情報とライブラリ内のファイルの整合性をチェックしますか?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5854,7 +5962,7 @@ msgstr "ライブラリ内のファイルとデータベースの情報がマッ #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5895,7 +6003,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "calibreライブラリの本からカタログを作成" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "変換できません" @@ -5908,96 +6016,109 @@ msgstr "%d個の本の変換を開始します。" msgid "Empty output file, probably the conversion process crashed" msgstr "空の出力ファイルです。変換プログラムがクラッシュしたものと思われます。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "ライブラリの選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "ライブラリのパス(&P):" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "ライブラリを参照" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" -msgstr "コピー後に削除する(&D)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "ライブラリにコピー" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "選択した本を指定したライブラリにコピーする" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "(コピー後削除)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "コピーできません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "現在のライブラリをコピーできません。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "ライブラリなし" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "%s にライブラリが見つかりませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "%(num)d 本を %(loc)s へコピーしました" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "本をコピーできません: " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "自動結合" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -6016,6 +6137,7 @@ msgstr "環境変数CALIBRE_OVERRIDE_DATABASE_PATHを使用中に他のライブ #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "よろしいですか?" @@ -6090,77 +6212,79 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "削除したいフォーマットを選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "残したいフォーマットを選択してください。
注: 本からすべてのフォーマットを削除するわけではありません。"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
msgid ""
"All formats for the selected books will be deleted from your "
"library.The book metadata will be kept. Are you sure?"
msgstr ""
"選択した本のすべてのフォーマットはライブラリから削除されます。本の書誌情報は残ります。よろしいですか?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:253
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:260
msgid "Cannot delete books"
msgstr "本を削除できません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:254
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid "No device is connected"
msgstr "デバイスが接続されていません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
msgid "Main memory"
msgstr "主メモリー"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:703
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:712
msgid "Storage Card A"
msgstr "メモリーカードA"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:266
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:705
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714
msgid "Storage Card B"
msgstr "メモリーカードB"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:278
msgid "No books to delete"
msgstr "削除する本がありません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:279
msgid "None of the selected books are on the device"
msgstr "選択した本はデバイスには入っていません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:289
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:296
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:400
msgid "Deleting books from device."
msgstr "デバイスから本を削除"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:345
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr "選択したいくつかの本が接続したデバイスにもあります。どこの本を削除しますか?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:350
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:357
+#, python-format
msgid ""
-"The selected books will be permanently deleted and the files removed "
-"from your calibre library. Are you sure?"
-msgstr "選択された本は完全に削除され、calibreのライブラリからも削除されます。よろしいですか?"
+"The %d selected book(s) will be permanently deleted and the files "
+"removed from your calibre library. Are you sure?"
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:385
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:392
+#, python-format
msgid ""
-"The selected books will be permanently deleted from your device. Are "
-"you sure?"
-msgstr "選択された本はデバイスから完全に削除されます。よろしいですか?"
+"The %d selected book(s) will be permanently deleted from your device. "
+"Are you sure?"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:33
msgid "Start wireless device connection"
@@ -6235,12 +6359,12 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:220
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:84
msgid "Stopping"
msgstr "停止"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:221
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:85
msgid "Stopping server, this could take upto a minute, please wait..."
msgstr "サーバーを停止します。これには1分ほどかかります、お待ちください..."
@@ -6324,8 +6448,8 @@ msgstr "書誌情報のダウンロードに失敗しました。"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:129
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:534
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:846
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:532
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:898
msgid "Download failed"
msgstr "ダウンロード失敗"
@@ -6361,7 +6485,7 @@ msgid "Download complete"
msgstr "ダウンロード完了"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961
msgid "Download log"
msgstr "ダウンロード・ログ"
@@ -6444,15 +6568,15 @@ msgstr ""
"最初の選択された本のすべてのフォーマットはそのままで、2つ目以降の本のフォーマットで前と同じものはcalibreライブラリから削除されます<"
"/b>。本当に実行しますか?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:541
msgid "Applying changed metadata"
msgstr "書誌情報の変更を適用"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:637
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:630
msgid "Some failures"
msgstr "失敗しました"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:638
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:631
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6557,17 +6681,28 @@ msgstr ""
msgid "About Polishing books
%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:41
+msgid ""
+"
If you have both EPUB and ORIGINAL_EPUB in your book,\n" +" then polishing will run on ORIGINAL_EPUB (the same for " +"other\n" +" ORIGINAL_* formats). So if you\n" +" want Polishing to not run on the ORIGINAL_* format, delete " +"the\n" +" ORIGINAL_* format before running it.
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:48 #, python-format msgid "This will update all metadata except the " "cover in the ebook files to match the current metadata in the calibre " @@ -6576,185 +6711,196 @@ msgid "" "cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:61 msgid "" "Update the covers in the ebook files to match the current cover in the " "calibre library.
If the ebook file does not have an identifiable " "cover, a new cover is inserted.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:66 #, python-format msgid "Cannot upload books to device there is no more free space available " msgstr "
空きスペースが無いので、デバイスに本をアップロードできません。 " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1546 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1553 msgid "Incorrect destination" msgstr "" @@ -10281,7 +10460,7 @@ msgstr "デバイス情報を表示" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:421 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:954 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:227 msgid "Copy to clipboard" @@ -10843,13 +11022,13 @@ msgid "Where do you want to delete from?" msgstr "どこから削除しますか?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:236 msgid "Library" msgstr "ライブラリ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 msgid "Device" msgstr "デバイス" @@ -10883,8 +11062,8 @@ msgid "Location" msgstr "位置" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1185 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 @@ -10903,13 +11082,13 @@ msgstr "%(curr)s (前は %(initial)s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:209 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:959 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:954 msgid "Item is blank" msgstr "アイテムが空白です" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:210 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:960 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:955 msgid "An item cannot be set to nothing. Delete it instead." msgstr "アイテムは空白に設定できません。削除してください。" @@ -11012,7 +11191,7 @@ msgstr "リンク" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:753 msgid "No matches found" msgstr "一致しませんでした" @@ -11060,12 +11239,12 @@ msgid "Copy to author" msgstr "著者名へコピー" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1004 msgid "Invalid author name" msgstr "無効な著者名" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1005 msgid "Author names cannot contain & characters." msgstr "著者名には「&」文字は入れられません。" @@ -11164,40 +11343,40 @@ msgstr "全てのジョブを隠す(&H)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:298 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:52 msgid "&Copy to clipboard" msgstr "クリップボードにコピー(&C)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:57 msgid "Show &details" msgstr "詳細を表示(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:58 msgid "Hide &details" msgstr "詳細を非表示(&D)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:62 msgid "Show detailed information about this error" msgstr "このエラーの詳細な情報を表示" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:602 msgid "Copied" msgstr "コピー済" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1075 -#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1128 +#: /home/kovid/work/calibre/src/calibre/gui2/proceed.py:49 msgid "View log" msgstr "ログ表示" @@ -12099,6 +12278,7 @@ msgstr "停止中..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:125 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:302 #: /home/kovid/work/calibre/src/calibre/library/catalogs/epub_mobi_builder.py:1417 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 @@ -12134,12 +12314,12 @@ msgstr "項目" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/font_family_chooser.py:201 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:652 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:286 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:283 msgid "Search" msgstr "検索" @@ -12736,12 +12916,12 @@ msgid "The port must be a number between 8000 and 32000." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:145 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:392 msgid "Problem starting the wireless device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/smartdevice.py:146 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:393 #, python-format msgid "The wireless device driver did not start. It said \"%s\"" msgstr "" @@ -12798,6 +12978,7 @@ msgid "&Automatically allow connections at calibre startup" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 msgid "Publishers" msgstr "発行者" @@ -12812,6 +12993,7 @@ msgstr "カテゴリー検索名: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:256 msgid "Invalid name" msgstr "無効な名前" @@ -13704,7 +13886,7 @@ msgid "&Shortcut:" msgstr "ショートカット(&S)" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:169 msgid "Done" msgstr "完了" @@ -13748,7 +13930,7 @@ msgstr "名前でショートカットを探す" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:251 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:440 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:365 msgid "No matches" msgstr "該当なし" @@ -13758,66 +13940,70 @@ msgstr "該当なし" msgid "Could not find any shortcuts matching %s" msgstr "%s にマッチするショートカットを見つけられませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 msgid "Eject this device" msgstr "このデバイスの取り出し" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:60 msgid "Configure this device" msgstr "このデバイスを設定" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 msgid "Show books in calibre library" msgstr "caibreライブラリで本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 msgid "Show books in the main memory of the device" msgstr "デバイスのメインメモリにある本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Show books in storage card A" msgstr "メモリーカードAの本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Show books in storage card B" msgstr "メモリーカードBの本を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 msgid "Delete library" msgstr "ライブラリの削除" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:147 msgid "available" msgstr "利用可能" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:176 +msgid "Virtual Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:198 msgid "Advanced search" msgstr "高度な検索" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Shift+Ctrl+F" msgstr "Shift+Ctrl+F" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:203 msgid "" "
Search the list of books by title, author, publisher, tags, comments, " "etc.Words separated by spaces are ANDed" msgstr "
本リストをタイトル、著者、出版社などで検索します。空白で区切られた言葉はAND検索します。" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:210 msgid "&Go!" msgstr "&Go!" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:216 msgid "Do Quick Search (you can also press the Enter key)" msgstr "クイック検索を行う(Enterキーでもできます)" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:222 msgid "Reset Quick Search" msgstr "クイック検索をリセット" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:238 msgid "Copy current search text (instead of search name)" msgstr "現在の検索文字列をコピー(検索名の替わりに)" @@ -13830,32 +14016,32 @@ msgstr "stars" msgid "Y" msgstr "Y" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:123 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "On Device" msgstr "デバイス上" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 msgid "Size (MB)" msgstr "サイズ (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:132 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 msgid "Modified" msgstr "修正日" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:893 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1530 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1537 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:332 msgid "The lookup/search name is \"{0}\"" msgstr "検索名は \"{0}\" です" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:899 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1539 msgid "This book's UUID is \"{0}\"" msgstr "この本のUUIDは \"{0}\" です" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:987 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:994 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:281 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:479 @@ -13864,30 +14050,30 @@ msgid "" "program?" msgstr "この書籍のディスク上の場所を変えられませんでした。他のプログラムで開かれていないか確認してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:991 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1004 msgid "Failed to set data" msgstr "データ設定に失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:992 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1005 msgid "Could not set data, click Show Details to see why." msgstr "データ設定できませんでした。「詳細を表示」をクリックすると理由を見れます。" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1189 msgid "In Library" msgstr "ライブラリ中" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1193 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 msgid "Size" msgstr "サイズ" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1512 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1519 msgid "Marked for deletion" msgstr "削除する、としてマーク" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1515 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1522 msgid "Double click to edit me" msgstr "ダブルクリックで編集" @@ -13992,7 +14178,7 @@ msgid "Previous Page" msgstr "前のページ" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:963 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1016 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:215 msgid "Back" @@ -14499,7 +14685,7 @@ msgid "Edit Metadata" msgstr "書誌情報を編集" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1009 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:108 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:410 @@ -14648,15 +14834,15 @@ msgstr "コメント(&C)" msgid "Basic metadata" msgstr "基本書誌情報" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has cover" msgstr "表紙あり" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:149 msgid "Has summary" msgstr "サマリーあり" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:205 msgid "" "The has cover indication is not fully\n" "reliable. Sometimes results marked as not\n" @@ -14667,27 +14853,27 @@ msgstr "" "時々、表紙なしとなった物でもダウンロードすると\n" "表紙が見つかったり、あるいはその逆が起こることがあります。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:299 msgid "See at" msgstr "参照:" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 msgid "calibre is downloading metadata from: " msgstr "calibreの書誌情報ダウンロード先: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:482 msgid "Please wait" msgstr "お待ちください" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:514 msgid "Query: " msgstr "クエリ: " -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:533 msgid "Failed to download metadata. Click Show Details to see details" msgstr "書誌情報のダウンロードに失敗しました。詳しくは「詳細を表示」をクリックしてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542 msgid "" "Failed to find any books that match your search. Try making the search " "less specific. For example, use only the author's last name and a " @@ -14697,38 +14883,44 @@ msgstr "" "検索にマッチする本がありませんでした。検索条件を減らして " "みてください。例えば、著者の姓だけにしたり、タイトルの一部だけを指定してください。ログ全体を参照するには、「詳細を表示」をクリックしてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:650 msgid "Current cover" msgstr "現在の表紙" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:653 msgid "Searching..." msgstr "検索中..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:816 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:822 +msgid "View this cover at full size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:868 #, python-format msgid "Downloading covers for %s, please wait..." msgstr "%sから表紙をダウンロード中。お待ちください..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:899 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "表紙がダウンロードできませんでした。詳しくは「詳細を表示」をクリックしてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:853 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:905 #, python-format msgid "Could not find any covers for %s" msgstr "%sの表紙が見つかりませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907 #, python-format -msgid "Found %(num)d covers of %(title)s. Pick the one you like best." -msgstr "%(num)d 個の %(title)s の表紙を発見。一番良い物を選んでください。" +msgid "" +"Found %(num)d possible covers for %(title)s. When the download " +"completes, the covers will be sorted by size." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:944 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:997 msgid "Downloading metadata..." msgstr "書誌情報をダウンロード中..." -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1059 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:1112 msgid "Downloading cover..." msgstr "表紙をダウンロード中..." @@ -14885,7 +15077,8 @@ msgid "The Add &Process" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:161 -msgid "Ignore files with the following extensions when automatically adding " +msgid "" +"Ignore files with the following extensions when automatically adding " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:162 @@ -14928,34 +15121,34 @@ msgstr "" msgid "&Automatic Adding" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 msgid "High" msgstr "高" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 msgid "Low" msgstr "低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:35 msgid "Very low" msgstr "最低" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Compact Metadata" msgstr "コンパクトな書誌情報" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:67 msgid "Default" msgstr "デフォルト" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:68 msgid "All on 1 tab" msgstr "すべて1タブ" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:170 msgid "Confirmation dialogs have all been reset" msgstr "確認ダイアログはすべてリセットされました" @@ -15006,17 +15199,15 @@ msgid "Job &priority:" msgstr "ジョブの優先度(&P):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 -msgid "Restriction to apply when the current library is opened:" -msgstr "ライブラリを開く際の制限:" +msgid "Virtual library to apply when the current library is opened:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "" -"Apply this restriction on calibre startup if the current library is being " +"Use this virtual library on calibre startup if the current library is being " "used. Also applied when switching to this library. Note that this setting is " "per library. " msgstr "" -"現在のライブラリが使用されている場合は、Calibreの起動時にこの制限を適用します。また、このライブラリへの切り替え時にも適用されます。この設定はライブ" -"ラリごとに設定できます。 " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:170 msgid "Edit metadata (single) layout:" @@ -15972,10 +16163,6 @@ msgstr "Off" msgid "Small" msgstr "小さい" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 -msgid "Large" -msgstr "大きい" - #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:146 msgid "Medium" msgstr "中" @@ -15993,7 +16180,7 @@ msgid "Never" msgstr "停止" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:153 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:590 msgid "By first letter" msgstr "最初の一文字" @@ -17013,20 +17200,20 @@ msgstr "" "ここではデバイスへ送るボタンが押されたときに、calibreがどのように本を保存するか設定します。この設定は、「設定」->「高度な設定」-" ">「プラグイン」のデバイスインターフェースプラグインをカスタマイズする事で、各デバイスごとに設定を無視することができます。" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Failed to start content server" msgstr "コンテンツサーバーの開始に失敗しました" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:112 msgid "Error log:" msgstr "エラーログ:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:119 msgid "Access log:" msgstr "アクセスログ:" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 msgid "You need to restart the server for changes to take effect" msgstr "変更を有効にするには、サーバーを再起動する必要があります。" @@ -17059,21 +17246,19 @@ msgid "Max. &OPDS items per query:" msgstr "クエリごとの最大OPDSアイテム数(&O):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:157 -msgid "Max. OPDS &ungrouped items:" -msgstr "グループ化されていない最大OPDSアイテム数(&U):" +msgid "Max. &ungrouped items:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:158 -msgid "Restriction (saved search) to apply:" -msgstr "制限する対象(保存された検索):" +msgid "Virtual library to apply:" +msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:159 msgid "" -"This restriction (based on a saved search) will restrict the books the " -"content server makes available to those matching the search. This setting is " -"per library (i.e. you can have a different restriction per library)." +"Setting a virtual library will restrict the books the content server makes " +"available to those in the library. This setting is per library (i.e. you can " +"have a different value per library)." msgstr "" -"この(保存された検索による)制限は、コンテンツサーバーで利用できる本を検索結果にマッチした物のみに制限します。この設定はライブラリごとに設定されます。(つ" -"まり、ライブラリごと異なる制限をかけられます)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:160 msgid "" @@ -17498,83 +17683,233 @@ msgstr "デフォルトに戻す(&D)" msgid "Apply any changes you made to this tweak" msgstr "このTweakへの変更を適用する" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:473 +msgid "Create saved search" +msgstr "保存された検索を作成" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:336 +msgid "There is no search to save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "Delete current search" msgstr "現在の検索を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:352 msgid "No search is selected" msgstr "検索が選択されていません" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:354 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "選択された検索は完全に削除されます。よろしいですか?" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:379 msgid "Search (For Advanced Search click the button to the left)" msgstr "検索 (高度な検索は左のボタンをクリック)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:395 msgid "Start search" msgstr "検索開始" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 msgid "Enable or disable search highlighting." msgstr "検索ハイライトを有効、あるいは無効にする" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:126 msgid "Saved Searches" msgstr "保存された検索" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462 msgid "Choose saved search or enter name for new saved search" msgstr "保存された検索を選ぶか、新しく保存する検索の名前を入力してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:468 msgid "" "Save current search under the name shown in the box. Press and hold for a " "pop-up options menu." msgstr "現在の検索をボックスにある名前で保存します。押し続ければポップアップオプションメニューが表示されます。" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 -msgid "Create saved search" -msgstr "保存された検索を作成" - -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:477 msgid "Delete saved search" msgstr "保存された検索を削除" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:481 msgid "Manage saved searches" msgstr "保存された検索を編集" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 -msgid "*Current search" -msgstr "*現在の検索" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:26 +#, python-format +msgid "Create a Virtual Library based on %s" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 -msgid "Restrict to" -msgstr "以下に制限" +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:34 +#, python-format +msgid "Match all selected %s names" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 -#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92 +msgid "Edit virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94 +msgid "Create virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:99 +msgid "Virtual library &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:112 +msgid "&Search expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:120 +msgid "Create a virtual library based on: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:133 +msgid "" +"\n" +"
Using virtual libraries you can restrict calibre to " +"only show\n" +" you books that match a search. When a virtual library is in " +"effect, calibre\n" +" behaves as though the library contains only the matched books. " +"The Tag Browser\n" +" display only the tags/authors/series/etc. that belong to the " +"matched books and any searches\n" +" you do will only search within the books in the virtual library. " +"This\n" +" is a good way to partition your large library into smaller and " +"easier to work with subsets.
\n" +"\n" +"For example you can use a Virtual Library to only show you " +"books with the Tag \"Unread\"\n" +" or only books by \"My Favorite Author\" or only books in " +"a particular series.
\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:172 +msgid "Saved searches recognized in the expression:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:212 +msgid "Search text changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:213 +msgid "" +"The virtual library name or the search text has changed. Do you want to " +"discard these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:250 +msgid "No name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:251 +msgid "You must provide a name for the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:257 +msgid "A virtual library name cannot begin with \"*\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:262 +msgid "Name already in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:263 +msgid "" +"That name is already in use. Do you want to replace it with the new search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:270 +msgid "No search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:271 +msgid "You must provide a search to define the new virtual library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:410 +msgid "Invalid search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:411 +msgid "The search in the search box is not valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:285 +msgid "Search found no books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:286 +msgid "" +"The search found no books, so the virtual library will be empty. Do you " +"really want to use that search?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:298 +msgid "ログは自動的に表示されます。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:409 msgid "Failed to start Content Server" msgstr "コンテンツサーバーの開始に失敗しました。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:410 #, python-format msgid "" "Could not start the content server. Error:\n" @@ -18778,16 +19169,16 @@ msgid "" msgstr "" "%s のライブラリデータベースは壊れています。Calibre に再確認して自動的にリビルドを行わせますか? リビルドは完全には成功しない可能性があります。" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:635 msgid "Conversion Error" msgstr "変換エラー" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:656 #, python-format msgid "
Failed to convert: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 msgid "" "\n" " Many older ebook reader devices are incapable of displaying\n" @@ -18810,23 +19201,23 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:671 msgid "Conversion Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:683 msgid "Recipe Disabled" msgstr "レシピを無効にする" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:716 msgid "Failed" msgstr "失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:748 msgid "There are active jobs. Are you sure you want to quit?" msgstr "ジョブが実行中です。本当に終了しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:751 msgid "" " is communicating with the device!\n" " Quitting may cause corruption on the device.\n" @@ -18836,11 +19227,11 @@ msgstr "" " 終了するとデバイスに問題を引き起こすかもしれません。\n" " 本当に終了しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:755 msgid "Active jobs" msgstr "アクティブなジョブ" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:823 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -19384,29 +19775,29 @@ msgstr "" msgid "S&earch Google for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:28 msgid "Zoom &in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/table_popup.py:29 msgid "Zoom &out" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 msgid "&Save as" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:42 msgid "&Rotate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:68 msgid "Choose a file to save to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/image_popup.py:104 #, python-format msgid "View Image: %s" msgstr "" @@ -20734,44 +21125,44 @@ msgstr "" "検索文字列で結果をフィルターする。検索文字列のフォーマットについては、ユーザーマニュアルの検索関連のドキュメントを参照してください。デフォルトは何もフィル" "ターしません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:169 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1272 msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "出力ファイル中の、1行の最大の長さ。デフォルトは画面サイズから判別。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:170 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 msgid "The string used to separate fields. Default is a space." msgstr "区切り文字(デフォルトは半角スペース)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:171 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:172 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "すべてのファイルパスの接頭辞。デフォルトはライブラリフォルダーへの絶対パス。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:195 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:196 msgid "Invalid fields. Available fields:" msgstr "無効なフィールド。有効なフィールド:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:202 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:203 msgid "Invalid sort field. Available fields:" msgstr "無効な並び替えフィールド。有効なフィールド:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:287 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "次の本は、すでにデータベースに存在するので、追加されませんでした。(--duplicatesオプションを参照)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:305 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:362 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:307 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:364 #, python-format msgid "Added book ids: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:313 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:315 msgid "" "%prog add [options] file1 file2 file3 ...\n" "\n" @@ -20783,59 +21174,59 @@ msgstr "" "\n" "指定したファイルをデータベースに追加する。ディレクトリを追加することもできます。下のディレクトリ関連オプションも参照してください。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:321 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 msgid "" "Assume that each directory has only a single logical book and that all files " "in it are different e-book formats of that book" msgstr "各ディレクトリには1つの本しかなく、すべてのファイルは、その本の違ったフォーマットである、と仮定します。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:323 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 msgid "Process directories recursively" msgstr "ディレクトリを再帰的に処理する" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:325 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "本がすでにデータベースに存在する場合でも追加します。本のタイトルに基づいて比較します。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:327 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 msgid "Add an empty book (a book with no formats)" msgstr "空の本を追加する(フォーマットが1つも無い本)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:329 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "Set the title of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:331 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 msgid "Set the authors of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:333 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 msgid "Set the ISBN of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:335 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 msgid "Set the tags of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:337 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 msgid "Set the series of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:339 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 msgid "Set the series number of the added book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:341 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 msgid "Path to the cover to use for the added book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:378 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:380 msgid "You must specify at least one file to add" msgstr "追加する、最低1つのファイルを選択しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:398 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:400 msgid "" "%prog remove ids\n" "\n" @@ -20850,32 +21241,38 @@ msgstr "" "データーベースからidsで指定された書籍を削除する。idsはコンマ区切りのid番号です(listコマンドを使ってid番号を取得できます)。例: " "23,34,57-85 (範囲を指定する場合、最後の範囲番号は含まれません)\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:413 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:415 msgid "You must specify at least one book to remove" msgstr "最低でも1つの削除する本を指定しなければなりません。" #: /home/kovid/work/calibre/src/calibre/library/cli.py:434 +#, python-format +msgid "A %s file already exists for book: %d, not replacing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" "%prog add_format [options] id ebook_file\n" "\n" "Add the ebook in ebook_file to the available formats for the logical book " "identified by id. You can get id by using the list command. If the format " -"already exists, it is replaced.\n" +"already exists, it is replaced, unless the do not replace option is " +"specified." msgstr "" -"%prog add_format [options] id ebook_file\n" -"\n" -"IDで表される本にebook_fileの電子書籍をフォーマットの1つとして追加する。IDはlistコマンドで取得できます。同じフォーマットが既に存在する場" -"合は、置き換えられます。\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:448 +msgid "Do not replace the format if it already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:458 msgid "You must specify an id and an ebook file" msgstr "IDと電子書籍ファイルを指定する必要があります" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:453 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 msgid "ebook file must have an extension" msgstr "電子書籍ファイルには拡張子が必要です" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:463 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:473 msgid "" "\n" "%prog remove_format [options] id fmt\n" @@ -20890,11 +21287,11 @@ msgstr "" "IDで表される論理上の本からfmtフォーマットを削除します。IDはlistコマンドで取得できます。fmtはLRFやTXT、EPUBのようなファイル拡張子で" "す。もし論理上の本にfmtが無い場合には何もしません。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:479 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:489 msgid "You must specify an id and a format" msgstr "IDとフォーマットを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:498 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:508 msgid "" "\n" "%prog show_metadata [options] id\n" @@ -20908,15 +21305,15 @@ msgstr "" "\n" "IDで指定されたCalibreデータベースにある本の書誌情報を表示する。IDはlistコマンドから取られたID番号。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:505 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Print metadata in OPF form (XML)" msgstr "OPFフォーマット(XML)で書誌情報を表示" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:514 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:524 msgid "You must specify an id" msgstr "IDを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 msgid "" "\n" "%prog set_metadata [options] id /path/to/metadata.opf\n" @@ -20931,7 +21328,7 @@ msgid "" "the --field option.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:539 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 msgid "" "The field to set. Format is field_name:value, for example: {0} " "tags:tag1,tag2. Use {1} to get a list of all field names. You can specify " @@ -20941,40 +21338,40 @@ msgid "" "use true and false or yes and no." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:559 msgid "" "List the metadata field names that can be used with the --field option" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:570 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "Field name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:586 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 msgid "You must specify a record id as the first argument" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:592 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 msgid "You must specify either a field or an opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:596 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:606 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:887 #, python-format msgid "No book with id: %s in the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:602 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 #, python-format msgid "The OPF file %s does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:612 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:622 #, python-format msgid "%s is not a known field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:642 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 msgid "" "%prog export [options] ids\n" "\n" @@ -20989,28 +21386,28 @@ msgstr "" "ID(カンマ区切りのリスト)で指定された本をファイルシステムにエクスポートします。\n" "エクスポート処理は、本の全てのフォーマットと、表紙、書誌情報(OPFファイル)を保存します。ID番号はlistコマンドから取得できます。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:650 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:660 msgid "Export all books in database, ignoring the list of ids." msgstr "IDのリストを無視してデータベースからすべての本をエクスポートします。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:652 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:662 msgid "Export books to the specified directory. Default is" msgstr "本を指定したディレクトリにエクスポートします。デフォルト:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:654 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 msgid "Export all books into a single directory" msgstr "ディレクトリにすべての本をエクスポート" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:661 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:671 msgid "Specifying this switch will turn this behavior off." msgstr "このスイッチ指定すると、この挙動をOFFにできます。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:684 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:694 #, python-format msgid "You must specify some ids or the %s option" msgstr "IDか%sオプションを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:697 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:707 msgid "" "%prog add_custom_column [options] label name datatype\n" "\n" @@ -21026,13 +21423,13 @@ msgstr "" "nameは人間に読みやすい列の名前。\n" "datatypeは以下のいずれか: {0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:706 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:716 msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "この列はタグ状のデータ(例: 複数のカンマ区切りの値)を保持します。datatypeがtextの時のみ有効です。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:710 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:720 msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted. This is a JSON string. For enumeration columns, use --" @@ -21052,11 +21449,11 @@ msgid "" "JSON for the\"display\" for the new column in the OPF." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:739 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "You must specify label, name and datatype" msgstr "labelとname、datatypeを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:812 msgid "" "\n" " %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" @@ -21073,7 +21470,7 @@ msgstr "" " オプションは生成されるカタログでどのようにエントリーが表示されるかをコントロールします。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:815 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 msgid "" "Comma-separated list of database IDs to catalog.\n" "If declared, --search is ignored.\n" @@ -21083,7 +21480,7 @@ msgstr "" "宣言する場合は、--searchは無視されます。\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:829 msgid "" "Filter the results by the search query. For the format of the search query, " "please see the search-related documentation in the User Manual.\n" @@ -21092,16 +21489,16 @@ msgstr "" "結果を検索文字列でフィルターします。検索文字列のフォーマットについては、ユーザーマニュアルの検索関連ドキュメントを参照してください。\n" "デフォルト: フィルターなし" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:825 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:835 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:601 msgid "Show detailed output information. Useful for debugging" msgstr "詳細な出力情報を表示します。デバッグに便利です。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:839 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:849 msgid "Error: You must specify a catalog output file" msgstr "エラー:カタログ出力ファイルを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:891 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 msgid "" "\n" " %prog set_custom [options] column id value\n" @@ -21120,17 +21517,17 @@ msgstr "" " custom_columnsコマンドを使ってカスタム列の名前のリストを取得できます。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:901 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:911 msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "もし列に複数の値を設定できる場合、値を指定した値に入れ替えるのではなく、すでにある値に付け加えます。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:912 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:922 msgid "Error: You must specify a field name, id and value" msgstr "エラー:フィールド名、ID、値を指定しなくてはなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:932 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:942 msgid "" "\n" " %prog custom_columns [options]\n" @@ -21144,27 +21541,27 @@ msgstr "" " 存在するカスタム列を表示。列名とIDを表示します。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:938 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:948 msgid "Show details for each column." msgstr "各列の詳細を表示" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:950 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:960 #, python-format msgid "You will lose all data in the column: %s. Are you sure (y/n)? " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:952 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:962 msgid "y" msgstr "y" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:957 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 #, python-format msgid "" "No column named %s found. You must use column labels, not titles. Use " "calibredb custom_columns to get a list of labels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:964 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:974 msgid "" "\n" " %prog remove_custom_column [options] label\n" @@ -21179,15 +21576,15 @@ msgstr "" " labelで指定されるカスタム列を削除。custom_columns コマンドで存在するカスタム列を見ることができます。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:971 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 msgid "Do not ask for confirmation" msgstr "確認を表示しない" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:991 msgid "Error: You must specify a column label" msgstr "エラー:列ラベルを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:992 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1002 msgid "" "\n" " %prog saved_searches [options] list\n" @@ -21208,40 +21605,40 @@ msgstr "" " もしすでにある名前と同じ名前を追加しようとした場合、すでにある物は置き換えられます。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1009 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1019 msgid "Error: You must specify an action (add|remove|list)" msgstr "エラー:動作を指定しなければなりません。(add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1017 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 msgid "Name:" msgstr "名前:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1018 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1028 msgid "Search string:" msgstr "検索文字列:" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1024 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1034 msgid "Error: You must specify a name and a search string" msgstr "エラー:名前と検索文字列を指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1027 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1037 msgid "added" msgstr "追加された" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1032 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 msgid "Error: You must specify a name" msgstr "エラー:名前を指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1035 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1045 msgid "removed" msgstr "削除された" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1049 #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "Error: %sと言う動作がわかりません。次の中の物でなければなりません: (add|remove|list)" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1046 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1056 msgid "" "%prog backup_metadata [options]\n" "\n" @@ -21255,13 +21652,13 @@ msgid "" "automatically, every time metadata is changed.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1057 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1067 msgid "" "Normally, this command only operates on books that have out of date OPF " "files. This option makes it operate on all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1096 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 msgid "" "%prog check_library [options]\n" "\n" @@ -21272,12 +21669,12 @@ msgstr "" "\n" "ライブラリのあるファイルシステムをチェックします。レポート:{0}\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1103 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1113 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 msgid "Output in CSV" msgstr "CSVで出力" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1106 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1116 msgid "" "Comma-separated list of reports.\n" "Default: all" @@ -21285,7 +21682,7 @@ msgstr "" "カンマ区切りのレポートのリスト\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1110 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1120 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" @@ -21293,7 +21690,7 @@ msgstr "" "無視する拡張子(カンマ区切りのリスト)\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1114 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1124 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" @@ -21301,11 +21698,11 @@ msgstr "" "無視する名前のカンマ区切りのリスト\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "Unknown report check" msgstr "不明なレポートチェック" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1178 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1188 msgid "" "%prog restore_database [options]\n" "\n" @@ -21329,18 +21726,18 @@ msgstr "" "ます。再生された書誌情報は、OPFファイルの内容と同様になります。\n" " " -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1202 msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "実際にリカバリーを行います。このコマンドはこのオプションを指定しなければ実行されません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1205 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1215 #, python-format msgid "You must provide the %s option to do a recovery" msgstr "実際にリカバリーを行うには%sオプションを指定しなければなりません。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1242 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1253 msgid "" "%prog list_categories [options]\n" "\n" @@ -21351,19 +21748,19 @@ msgstr "" "\n" "データベース中のカテゴリー情報のレポートを作成します。情報はタグブラウザーに表示されるものと同等です。\n" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1250 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1261 msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "カテゴリー内のアイテムのカウント番号ではなく、カテゴリー内のアイテム番号のみを出力します。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1266 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "CSVモードでカテゴリーの値の周りを囲む文字。デフォルトはダブルクオート(\")。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1258 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1269 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" @@ -21371,15 +21768,15 @@ msgstr "" "カンマ区切りのカテゴリーの検索名リスト。\n" "デフォルト: all" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1264 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1275 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "CSVモードでのフィールド区切りに使われる文字列。デフォルトはカンマです。" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1302 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1313 msgid "CATEGORY ITEMS" msgstr "カテゴリー・アイテム" -#: /home/kovid/work/calibre/src/calibre/library/cli.py:1375 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1386 #, python-format msgid "" "%%prog command [options] [arguments]\n" @@ -21410,31 +21807,22 @@ msgid "" "start with a letter" msgstr "ラベルは、小文字のアルファベット、数字、アンダースコアでアルファベットから始まらなくてはなりません。" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 -msgid "restored preference " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:192 -#: /home/kovid/work/calibre/src/calibre/library/restore.py:234 -msgid "creating custom column " -msgstr "カスタム列を作成 " - -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1192 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 #, python-format msgid " (%s books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3685 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3711 #, python-format msgid "
Migrating old database to ebook library in %s
古いデータベースを %s の電子書籍ライブラリへ移行
You should use this tool as the last step in your ebook creation " "process.
\n" -"\n" -"Note that polishing only works on files in the %s formats.
\n" +"{0}\n" +"Note that polishing only works on files in the %s formats.
" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:446 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 @@ -4643,7 +4747,7 @@ msgstr "" msgid "" "Insert a \"book jacket\" page at the start of the book that contains\n" "all the book metadata such as title, tags, authors, series, comments,\n" -"etc.
" +"etc. Any previous book jacket will be replaced." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:74 @@ -4768,9 +4872,9 @@ msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:199 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:234 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:524 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:694 msgid "(Untitled)" msgstr "" @@ -4786,11 +4890,11 @@ msgid "HTML TOC generation options." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:805 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:799 msgid "Rating" msgstr "" @@ -4833,6 +4937,10 @@ msgstr "" msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:310 +msgid "Untitled" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 msgid "Table of Contents:" @@ -4987,7 +5095,7 @@ msgid "Show this confirmation again" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:133 msgid "Restart needed" msgstr "" @@ -5109,12 +5217,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:426 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 @@ -5191,8 +5299,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 @@ -5313,7 +5421,7 @@ msgid "Select destination for %(title)s.%(fmt)s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:993 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:345 @@ -5361,7 +5469,7 @@ msgid "No existing calibre library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 msgid "Choose Library" msgstr "" @@ -5375,7 +5483,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:172 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:169 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:129 #, python-format msgid "%d books" @@ -5387,12 +5495,12 @@ msgid "Pick a random book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:91 msgid "Quick switch" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:92 msgid "Rename library" msgstr "" @@ -5532,7 +5640,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -5560,7 +5668,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -5601,7 +5709,7 @@ msgid "Create a catalog of the books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "Cannot convert" msgstr "" @@ -5614,96 +5722,109 @@ msgstr "" msgid "Empty output file, probably the conversion process crashed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:87 #, python-format msgid "%(title)s by %(author)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:60 msgid "Choose library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Library &path:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 msgid "Browse for library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:149 -msgid "&Delete after copy" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:154 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:205 +msgid "&Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:156 +msgid "Copy to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:157 +msgid "&Move" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:160 +msgid "Copy to the specified library and delete from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:180 msgid "Copy to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:181 msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:214 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:218 msgid "Choose library by path..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:220 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:237 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:231 msgid "Cannot copy to current library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:242 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:243 #, python-format msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:245 msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:261 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:263 #, python-format msgid "Moved %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:267 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:274 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:275 msgid "" "Some books were automatically merged into existing records in the target " "library. Click Show details to see which ones. This behavior is controlled " "by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:295 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5722,6 +5843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:104 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 msgid "Are you sure?" msgstr "" @@ -5794,75 +5916,77 @@ msgid "" "you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:195 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:213 msgid "" "Choose formats not to be deleted.Note that this will never remove " "all formats from a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240 msgid "" "