diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index e4d98c1e4b..306bbc77e6 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -100,7 +100,7 @@ def _config(): c.add_opt('tag_browser_hidden_categories', default=set(), help=_('tag browser categories not to display')) c.add_opt('gui_layout', choices=['wide', 'narrow'], - help=_('The layout of the user interface'), default='narrow') + help=_('The layout of the user interface'), default='wide') c.add_opt('show_avg_rating', default=True, help=_('Show the average rating per item indication in the tag browser')) return ConfigProxy(c) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 485c1b2d19..8ec9e75f72 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -8,73 +8,18 @@ __docformat__ = 'restructuredtext en' import os, collections from PyQt4.Qt import QLabel, QPixmap, QSize, QWidget, Qt, pyqtSignal, \ - QVBoxLayout, QScrollArea + QVBoxLayout, QScrollArea, QPropertyAnimation, QEasingCurve, \ + QSizePolicy, QPainter, QRect, pyqtProperty from calibre import fit_image, prepare_string_for_xml from calibre.gui2.widgets import IMAGE_EXTENSIONS from calibre.ebooks import BOOK_EXTENSIONS from calibre.constants import preferred_encoding +from calibre.library.comments import comments_to_html -class CoverView(QLabel): - - def __init__(self, parent=None): - QLabel.__init__(self, parent) - self.default_pixmap = QPixmap(I('book.svg')) - self.max_width, self.max_height = 120, 120 - self.setScaledContents(True) - self.setPixmap(self.default_pixmap) - - def do_layout(self): - pixmap = self.pixmap() - pwidth, pheight = pixmap.width(), pixmap.height() - width, height = fit_image(pwidth, pheight, - self.max_width, self.max_height)[1:] - self.setMaximumWidth(width) - try: - aspect_ratio = pwidth/float(pheight) - except ZeroDivisionError: - aspect_ratio = 1 - mh = min(self.max_height, int(width/aspect_ratio)) - self.setMaximumHeight(mh) - - def setPixmap(self, pixmap): - QLabel.setPixmap(self, pixmap) - self.do_layout() - - - def sizeHint(self): - return QSize(self.maximumWidth(), self.maximumHeight()) - - def relayout(self, parent_size): - self.max_height = int(parent_size.height()/3.) - self.max_width = parent_size.width() - self.do_layout() - - def show_data(self, data): - if data.has_key('cover'): - self.setPixmap(QPixmap.fromImage(data.pop('cover'))) - else: - self.setPixmap(self.default_pixmap) - -class BookInfo(QScrollArea): - - def __init__(self, parent=None): - QScrollArea.__init__(self, parent) - self.setWidgetResizable(True) - self.label = QLabel() - self.label.setWordWrap(True) - self.setWidget(self.label) - - def show_data(self, data): - self.label.setText('') - self.data = data.copy() - rows = render_rows(self.data) - rows = u'\n'.join([u'%s:%s'%(k,t) for - k, t in rows]) - self.label.setText(u'%s
'%rows) - +# render_rows(data) {{{ WEIGHTS = collections.defaultdict(lambda : 100) -WEIGHTS[_('Path')] = 0 +WEIGHTS[_('Path')] = 5 WEIGHTS[_('Formats')] = 1 WEIGHTS[_('Collections')] = 2 WEIGHTS[_('Series')] = 3 @@ -86,7 +31,7 @@ def render_rows(data): rows = [] for key in keys: txt = data[key] - if key in ('id', _('Comments')) or not txt or not txt.strip() or \ + if key in ('id', _('Comments')) or not hasattr(txt, 'strip') or not txt.strip() or \ txt == 'None': continue if isinstance(key, str): @@ -98,7 +43,8 @@ def render_rows(data): if 'id' in data: if key == _('Path'): txt = '...'+os.sep+os.sep.join(txt.split(os.sep)[-2:]) - txt = u'%s'%(data['id'], txt) + txt = u'%s'%(data['id'], + _('Click to open')) if key == _('Formats') and txt and txt != _('None'): fmts = [x.strip() for x in txt.split(',')] fmts = [u'%s' % (data['id'], x, x) for x @@ -107,10 +53,148 @@ def render_rows(data): rows.append((key, txt)) return rows +# }}} + +class CoverView(QWidget): # {{{ + + + def __init__(self, parent=None): + QWidget.__init__(self, parent) + self.setMaximumSize(QSize(120, 120)) + self.setMinimumSize(QSize(120, 1)) + self._current_pixmap_size = self.maximumSize() + + self.animation = QPropertyAnimation(self, 'current_pixmap_size', self) + self.animation.setEasingCurve(QEasingCurve(QEasingCurve.OutExpo)) + self.animation.setDuration(1000) + self.animation.setStartValue(QSize(0, 0)) + self.animation.valueChanged.connect(self.value_changed) + + self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + + self.default_pixmap = QPixmap(I('book.svg')) + self.pixmap = self.default_pixmap + self.pwidth = self.pheight = None + self.data = {} + + self.do_layout() + + def value_changed(self, val): + self.update() + + def setCurrentPixmapSize(self, val): + self._current_pixmap_size = val + + def do_layout(self): + pixmap = self.pixmap + pwidth, pheight = pixmap.width(), pixmap.height() + self.pwidth, self.pheight = fit_image(pwidth, pheight, + self.rect().width(), self.rect().height())[1:] + self.current_pixmap_size = QSize(self.pwidth, self.pheight) + self.animation.setEndValue(self.current_pixmap_size) + + def relayout(self, parent_size): + self.setMaximumSize(parent_size.width(), + min(int(parent_size.height()/2.),int(4/3. * parent_size.width())+1)) + self.resize(self.maximumSize()) + self.animation.stop() + self.do_layout() + + def sizeHint(self): + return self.maximumSize() + + def show_data(self, data): + self.animation.stop() + if data.get('id', None) == self.data.get('id', None): + return + self.data = {'id':data.get('id', None)} + if data.has_key('cover'): + self.pixmap = QPixmap.fromImage(data.pop('cover')) + if self.pixmap.isNull(): + self.pixmap = self.default_pixmap + else: + self.pixmap = self.default_pixmap + self.do_layout() + self.update() + self.animation.start() + + def paintEvent(self, event): + canvas_size = self.rect() + width = self.current_pixmap_size.width() + extrax = canvas_size.width() - width + if extrax < 0: extrax = 0 + x = int(extrax/2.) + height = self.current_pixmap_size.height() + extray = canvas_size.height() - height + if extray < 0: extray = 0 + y = int(extray/2.) + target = QRect(x, y, width, height) + p = QPainter(self) + p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform) + p.drawPixmap(target, self.pixmap.scaled(target.size(), + Qt.KeepAspectRatio, Qt.SmoothTransformation)) + p.end() + + current_pixmap_size = pyqtProperty('QSize', + fget=lambda self: self._current_pixmap_size, + fset=setCurrentPixmapSize + ) + + + # }}} + +class Label(QLabel): + + mr = pyqtSignal(object) + link_clicked = pyqtSignal(object) + + def __init__(self): + QLabel.__init__(self) + self.setText('') + self.setWordWrap(True) + self.linkActivated.connect(self.link_activated) + self._link_clicked = False + self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + + def link_activated(self, link): + self._link_clicked = True + link = unicode(link) + self.link_clicked.emit(link) + + def mouseReleaseEvent(self, ev): + QLabel.mouseReleaseEvent(self, ev) + if not self._link_clicked: + self.mr.emit(ev) + self._link_clicked = False + +class BookInfo(QScrollArea): + + def __init__(self, parent=None): + QScrollArea.__init__(self, parent) + self.setWidgetResizable(True) + self.label = Label() + self.setWidget(self.label) + self.link_clicked = self.label.link_clicked + self.mr = self.label.mr + self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + + def show_data(self, data): + self.label.setText('') + rows = render_rows(data) + rows = u'\n'.join([u'%s:%s'%(k,t) for + k, t in rows]) + if _('Comments') in data and data[_('Comments')]: + comments = comments_to_html(data[_('Comments')]) + rows += u'%s'%comments + + self.label.setText(u'%s
'%rows) + class BookDetails(QWidget): resized = pyqtSignal(object) show_book_info = pyqtSignal() + open_containing_folder = pyqtSignal(int) + view_specific_format = pyqtSignal(int, object) # Drag 'n drop {{{ DROPABBLE_EXTENSIONS = IMAGE_EXTENSIONS+BOOK_EXTENSIONS @@ -151,21 +235,37 @@ class BookDetails(QWidget): self.setLayout(self._layout) self.cover_view = CoverView(self) - self.cover_view.relayout() + self.cover_view.relayout(self.size()) self.resized.connect(self.cover_view.relayout, type=Qt.QueuedConnection) - self._layout.addWidget(self.cover_view) + self._layout.addWidget(self.cover_view, alignment=Qt.AlignHCenter) + self.book_info = BookInfo(self) + self._layout.addWidget(self.book_info) + self.book_info.link_clicked.connect(self._link_clicked) + self.book_info.mr.connect(self.mouseReleaseEvent) + self.setMinimumSize(QSize(190, 200)) + self.setCursor(Qt.PointingHandCursor) + def _link_clicked(self, link): + typ, _, val = link.partition(':') + if typ == 'path': + self.open_containing_folder.emit(int(val)) + if typ == 'format': + id_, fmt = val.split(':') + self.view_specific_format.emit(int(id_), fmt) + + def mouseReleaseEvent(self, ev): + ev.accept() + self.show_book_info.emit() def resizeEvent(self, ev): self.resized.emit(self.size()) def show_data(self, data): self.cover_view.show_data(data) + self.book_info.show_data(data) def reset_info(self): self.show_data({}) - def mouseReleaseEvent(self, ev): - self.show_book_info.emit() diff --git a/src/calibre/gui2/dialogs/config/__init__.py b/src/calibre/gui2/dialogs/config/__init__.py index fa7bd8c2c5..ad49848b7b 100644 --- a/src/calibre/gui2/dialogs/config/__init__.py +++ b/src/calibre/gui2/dialogs/config/__init__.py @@ -485,6 +485,14 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): self.show_avg_rating.setChecked(config['show_avg_rating']) self.show_splash_screen.setChecked(gprefs.get('show_splash_screen', True)) + li = None + for i, z in enumerate([('wide', _('Wide')), + ('narrow', _('Narrow'))]): + x, y = z + self.opt_gui_layout.addItem(y, QVariant(x)) + if x == config['gui_layout']: + li = i + self.opt_gui_layout.setCurrentIndex(li) def check_port_value(self, *args): port = self.port.value() @@ -866,6 +874,8 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): if self.viewer.item(i).checkState() == Qt.Checked: fmts.append(str(self.viewer.item(i).text())) config['internally_viewed_formats'] = fmts + val = self.opt_gui_layout.itemData(self.opt_gui_layout.currentIndex()).toString() + config['gui_layout'] = unicode(val) if not path or not os.path.exists(path) or not os.path.isdir(path): d = error_dialog(self, _('Invalid database location'), diff --git a/src/calibre/gui2/dialogs/config/config.ui b/src/calibre/gui2/dialogs/config/config.ui index 781b53f941..b66e16a487 100644 --- a/src/calibre/gui2/dialogs/config/config.ui +++ b/src/calibre/gui2/dialogs/config/config.ui @@ -89,8 +89,8 @@ 0 0 - 608 - 683 + 604 + 679 @@ -332,7 +332,7 @@ - + Use &Roman numerals for series number @@ -342,38 +342,38 @@ - + Enable system &tray icon (needs restart) - + Show &notifications in system tray - + Show &splash screen at startup - + Show cover &browser in a separate window (needs restart) - + - Search as &you type + Search as you type true @@ -635,6 +635,26 @@ + + + + User Interface &layout (needs restart): + + + opt_gui_layout + + + + + + + + 250 + 16777215 + + + + diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index 90afbbf0a2..1277cb06c7 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -17,6 +17,8 @@ from calibre.gui2 import config, is_widescreen from calibre.gui2.library.views import BooksView, DeviceBooksView from calibre.gui2.widgets import Splitter from calibre.gui2.tag_view import TagBrowserWidget +from calibre.gui2.status import StatusBar, HStatusBar +from calibre.gui2.book_details import BookDetails _keep_refs = [] @@ -290,9 +292,9 @@ class LibraryViewMixin(object): # {{{ class LibraryWidget(Splitter): # {{{ def __init__(self, parent): - orientation = Qt.Vertical if config['gui_layout'] == 'narrow' and \ - not is_widescreen() else Qt.Horizontal - #orientation = Qt.Vertical + orientation = Qt.Vertical + if config['gui_layout'] == 'narrow': + orientation = Qt.Horizontal if is_widescreen() else Qt.Vertical idx = 0 if orientation == Qt.Vertical else 1 size = 300 if orientation == Qt.Vertical else 550 Splitter.__init__(self, 'cover_browser_splitter', _('Cover Browser'), @@ -360,7 +362,6 @@ class LayoutMixin(object): # {{{ self.setWindowTitle(__appname__) if config['gui_layout'] == 'narrow': - from calibre.gui2.status import StatusBar self.status_bar = self.book_details = StatusBar(self) self.stack = Stack(self) self.bd_splitter = Splitter('book_details_splitter', @@ -375,8 +376,28 @@ class LayoutMixin(object): # {{{ l.addWidget(self.sidebar) self.bd_splitter.addWidget(self._layout_mem[0]) self.bd_splitter.addWidget(self.status_bar) - self.bd_splitter.setCollapsible((self.bd_splitter.side_index+1)%2, False) + self.bd_splitter.setCollapsible(self.bd_splitter.other_index, False) self.centralwidget.layout().addWidget(self.bd_splitter) + else: + self.status_bar = HStatusBar(self) + self.setStatusBar(self.status_bar) + self.bd_splitter = Splitter('book_details_splitter', + _('Book Details'), I('book.svg'), initial_side_size=200, + orientation=Qt.Horizontal, parent=self, side_index=1) + self.stack = Stack(self) + self.bd_splitter.addWidget(self.stack) + self.book_details = BookDetails(self) + self.bd_splitter.addWidget(self.book_details) + self.bd_splitter.setCollapsible(self.bd_splitter.other_index, False) + self.bd_splitter.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, + QSizePolicy.Expanding)) + self.centralwidget.layout().addWidget(self.bd_splitter) + + for x in ('cb', 'tb', 'bd'): + button = getattr(self, x+'_splitter').button + button.setIconSize(QSize(22, 22)) + self.status_bar.addPermanentWidget(button) + self.status_bar.addPermanentWidget(self.jobs_button) def finalize_layout(self): m = self.library_view.model() diff --git a/src/calibre/gui2/jobs.py b/src/calibre/gui2/jobs.py index adf938c435..d512409d25 100644 --- a/src/calibre/gui2/jobs.py +++ b/src/calibre/gui2/jobs.py @@ -274,11 +274,15 @@ class JobsButton(QFrame): def __init__(self, horizontal=False, size=48, parent=None): QFrame.__init__(self, parent) + if horizontal: + size = 24 self.pi = ProgressIndicator(self, size) self._jobs = QLabel(''+_('Jobs:')+' 0') + self._jobs.mouseReleaseEvent = self.mouseReleaseEvent if horizontal: self.setLayout(QHBoxLayout()) + self.layout().setDirection(self.layout().RightToLeft) else: self.setLayout(QVBoxLayout()) self._jobs.setAlignment(Qt.AlignHCenter|Qt.AlignBottom) diff --git a/src/calibre/gui2/pictureflow/pictureflow.cpp b/src/calibre/gui2/pictureflow/pictureflow.cpp index 58b6cd32e0..e96fc00cc2 100644 --- a/src/calibre/gui2/pictureflow/pictureflow.cpp +++ b/src/calibre/gui2/pictureflow/pictureflow.cpp @@ -554,7 +554,7 @@ void PictureFlowPrivate::resize(int w, int h) if (h < 10) h = 10; slideHeight = int(float(h)/REFLECTION_FACTOR); slideWidth = int(float(slideHeight) * 2/3.); - fontSize = MAX(int(h/20.), 12); + fontSize = MAX(int(h/15.), 12); recalc(w, h); resetSlides(); triggerRender(); diff --git a/src/calibre/gui2/status.py b/src/calibre/gui2/status.py index 377410cf86..10775ec327 100644 --- a/src/calibre/gui2/status.py +++ b/src/calibre/gui2/status.py @@ -49,7 +49,7 @@ class BookInfoDisplay(QWidget): event.acceptProposedAction() - class BookCoverDisplay(QLabel): + class BookCoverDisplay(QLabel): # {{{ def __init__(self, coverpath=I('book.svg')): QLabel.__init__(self) @@ -90,6 +90,7 @@ class BookInfoDisplay(QWidget): self.statusbar_height = statusbar_size.height() self.do_layout() + # }}} class BookDataDisplay(QLabel): @@ -151,7 +152,7 @@ class BookInfoDisplay(QWidget): k, t in rows]) if _('Comments') in self.data: comments = comments_to_html(self.data[_('Comments')]) - comments = 'Comments:'+comments + comments = ('%s:'%_('Comments'))+comments left_pane = u'%s
'%rows right_pane = u'
%s
'%comments self.book_data.setText(u'
Last Page Read: %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:132 +msgid "%s
Last Page Read: Location %d (%d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:151 +msgid "Location %d • %s
%s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:160 +msgid "Page %d • %s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:165 +msgid "Location %d • %s
" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:287 +msgid "How many empty books?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:288 +msgid "How many empty books should be added?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:387 +msgid "Uploading books to device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:347 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:139 +msgid "Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:348 +msgid "EPUB Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:349 +msgid "LRF Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 +msgid "HTML Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:351 +msgid "LIT Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:352 +msgid "MOBI Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:353 +msgid "Topaz books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:354 +msgid "Text books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:355 +msgid "PDF Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:356 +msgid "Comics" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:357 +msgid "Archives" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:361 +msgid "Supported books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:396 +msgid "Merged some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:397 +msgid "Some duplicates were found and merged into the following existing books:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:406 +msgid "Failed to read metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:407 +msgid "Failed to read metadata from the following" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:425 +msgid "Cannot delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1146 +msgid "No book selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:438 +msgid "Choose formats to be deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:456 +msgid "Choose formats not to be deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:494 +msgid "The selected books will be permanently deleted and the files removed from your computer. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:515 +msgid "The selected books will be permanently deleted from your device. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:530 +msgid "Deleting books from device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:540 +msgid "Cannot download metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:556 +msgid "social metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:558 +msgid "covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:558 +msgid "metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:560 +msgid "Downloading %s for %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:582 +msgid "Failed to download some metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:583 +msgid "Failed to download metadata for the following:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:586 +msgid "Failed to download metadata:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:943 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 +msgid "Error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:635 +msgid "Cannot edit metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:654 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:657 +msgid "Cannot merge books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:658 +msgid "At least two books must be selected for merging" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:662 +msgid "All book formats and metadata from the selected books will be added to the first selected book.

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.py:673 +msgid "All book formats and metadata from the selected books will be merged into the first selected book.

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 computer.

Are you sure you want to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:685 +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.py:785 +msgid "Cannot save to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:788 +msgid "Choose destination directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:821 +msgid "Error while saving" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:822 +msgid "There was an error while saving." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:829 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:830 +msgid "Could not save some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:831 +msgid "Click the show details button to see which ones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:852 +msgid "No books selected to generate catalog for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:869 +msgid "Generating %s catalog..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:261 +msgid "No books found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:875 +msgid "" +"No books to catalog\n" +"Check exclude tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:885 +msgid "Catalog generated." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:888 +msgid "Export Catalog Directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:889 +msgid "Select destination for %s.%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:905 +msgid "Fetching news from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:919 +msgid " fetched." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:968 +msgid "Cannot convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:997 +msgid "Starting conversion of %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1121 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1182 +msgid "Cannot view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:76 +msgid "Choose the format to view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1135 +msgid "Multiple Books Selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1136 +msgid "You are attempting to open %d books. Opening too many books at once can be slow and have a negative effect on the responsiveness of your computer. Once started the process cannot be stopped until complete. Do you wish to continue?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1145 +msgid "Cannot open folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1183 +msgid "%s has no available formats." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/add.py:54 msgid "Searching in" msgstr "" @@ -2310,15 +2639,10 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:804 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:261 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432 -msgid "No books found" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/add.py:327 msgid "Added" msgstr "" @@ -2428,15 +2752,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:623 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 @@ -2484,6 +2808,51 @@ msgstr "" msgid "&Multiple books per folder, assumes every ebook file is a different book" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023 +msgid "Path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:301 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 +msgid "Formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:855 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026 +msgid "Collections" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:47 +msgid "Click to open" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1036 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:416 +msgid "None" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 msgid "CSV/XML Options" msgstr "" @@ -3221,11 +3590,6 @@ msgstr "" msgid "RB Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1677 -msgid "Choose the format to view" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:82 msgid "Cannot build regex using the GUI builder without a book." msgstr "" @@ -3515,11 +3879,11 @@ msgstr "" msgid "

For example, to match all h2 tags that have class=\"chapter\", set tag to h2, attribute to class and value to chapter.

Leaving attribute blank will match any attribute and leaving value blank will match any value. Setting tag to * will match any tag.

To learn more advanced usage of XPath see the XPath Tutorial." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:119 msgid "Cover browser could not be loaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:171 msgid "Browse by covers" msgstr "" @@ -3568,224 +3932,256 @@ msgstr "" msgid "tags to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:45 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:135 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:145 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:250 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:276 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:286 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:295 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:304 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:336 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:346 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:381 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:385 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:387 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:398 msgid "Email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:398 msgid " and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:407 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:409 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:414 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 -msgid "Main Memory" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:425 -msgid "Storage Card A" +msgid "Main Memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:418 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:427 +msgid "Storage Card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:420 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:429 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:443 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:444 msgid "Send specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Connect to folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:488 msgid "Disconnect from folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:496 msgid "Fetch annotations (experimental)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:609 -msgid "selected to send" +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:607 +msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:614 -msgid "Choose format to send to device" +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:628 +msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:622 -msgid "No device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 -msgid "Cannot send: No device is connected" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:626 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:630 -msgid "No card" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:627 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631 -msgid "Cannot send: Device has no storage card" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:672 -msgid "E-book:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:675 -msgid "Attached, you will find the e-book" +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +msgid "Failed" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:676 +msgid "Error talking to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:677 +msgid "There was a temporary error talking to the device. Please unplug and reconnect the device and or reboot." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:704 +msgid "Device: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:706 +msgid " detected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:737 +msgid "Connected " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:805 +msgid "selected to send" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:810 +msgid "Choose format to send to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:818 +msgid "No device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +msgid "Cannot send: No device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:822 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:826 +msgid "No card" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:823 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:827 +msgid "Cannot send: Device has no storage card" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:868 +msgid "E-book:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 +msgid "Attached, you will find the e-book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:872 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:180 msgid "by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:873 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:886 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:880 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:999 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1006 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:916 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:923 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1076 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1195 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1202 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:917 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:728 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 msgid "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:746 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:942 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:747 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:751 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:778 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:974 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:790 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:986 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:820 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1077 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1196 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:849 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1045 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1108 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:966 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1162 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1007 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1203 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:1055 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1251 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 msgid "

Cannot upload books to device there is no more free space available " msgstr "" @@ -3804,26 +4200,6 @@ msgstr "" msgid "Save &template:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1020 -#: /home/kovid/work/calibre/src/calibre/gui2/status.py:99 -msgid "Path" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:219 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/status.py:100 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:91 -msgid "Formats" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 msgid "Fit &cover to view" msgstr "" @@ -3963,159 +4339,159 @@ msgstr "" msgid "new email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:487 +msgid "Wide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:488 +msgid "Narrow" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:498 msgid "System port selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:499 msgid "The value %d you have chosen for the content server port is a system port. Your operating system may not allow the server to run on this port. To be safe choose a port number larger than 1024." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:510 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:933 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1144 -#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53 -msgid "Error" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:511 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:519 msgid "Failed to install command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:522 msgid "Command line tools installed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:523 msgid "Command line tools installed in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:516 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:524 msgid "If you move calibre.app, you have to re-install the command line tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:575 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:576 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:579 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:591 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:592 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:601 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:602 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:610 msgid "Customize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:648 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:649 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:672 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:680 msgid "You must select a column to delete it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:685 msgid "The selected column is not a custom column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:686 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:687 msgid "Do you really want to delete column %s and all its data?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:746 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:754 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:753 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:761 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:781 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:350 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:805 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:813 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:587 msgid "Select location for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:820 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:821 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:868 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:873 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:883 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:879 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:880 msgid "
Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:884 msgid "Invalid database location.
Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:889 msgid "Must restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:880 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:890 msgid "The changes you made require that Calibre be restarted. Please restart as soon as practical." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:914 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:924 msgid "Checking database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:944 msgid "Failed to check database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:949 msgid "Some inconsistencies found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:940 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:950 msgid "The following books had formats listed in the database that are not actually available. The entries for the formats have been removed. You should check them manually. This can happen if you manipulate the files in the library folder directly." msgstr "" @@ -4207,296 +4583,300 @@ msgstr "" msgid "Sending to &device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 msgid "&Location of ebooks (The ebooks are stored in folders sorted by author and metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 msgid "&Overwrite author and title by default when fetching metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 msgid "Set the default timeout for network fetches (i.e. anytime we go out to the internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 msgid "Preferred &output format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 msgid "Preferred &input format order:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 msgid "Show ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 msgid "Search as you type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:573 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:575 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:569 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:577 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:578 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 msgid "Remove a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:574 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 msgid "Add a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 msgid "Edit settings of a user-defined column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 msgid "Use internal &viewer for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:580 -msgid "Add an email address to which to send books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:581 -msgid "&Add email" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:582 -msgid "Make &default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:583 -msgid "&Remove email" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:584 -msgid "calibre can send your books to you (or your reader) by email. Emails will be automatically sent for downloaded news to all email addresses that have Auto-send checked." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:585 -msgid "&Maximum number of waiting worker processes (needs restart):" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:586 -msgid "&Check database integrity" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:587 -msgid "&Install command line tools" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 -msgid "Open calibre &configuration directory" +msgid "User Interface &layout (needs restart):" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 -msgid "Limit the max. simultaneous jobs to the available CPU &cores" +msgid "Add an email address to which to send books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:590 -msgid "Debug &device detection" +msgid "&Add email" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 -msgid "calibre contains a network server that allows you to access your book collection using a browser from anywhere in the world. Any changes to the settings will only take effect after a server restart." +msgid "Make &default" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 -msgid "Server &port:" +msgid "&Remove email" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:593 +msgid "calibre can send your books to you (or your reader) by email. Emails will be automatically sent for downloaded news to all email addresses that have Auto-send checked." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +msgid "&Maximum number of waiting worker processes (needs restart):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +msgid "&Check database integrity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 +msgid "&Install command line tools" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +msgid "Open calibre &configuration directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +msgid "Limit the max. simultaneous jobs to the available CPU &cores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +msgid "Debug &device detection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +msgid "calibre contains a network server that allows you to access your book collection using a browser from anywhere in the world. Any changes to the settings will only take effect after a server restart." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +msgid "Server &port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 msgid "If you leave the password blank, anyone will be able to access your book collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 msgid "The maximum size (widthxheight) for displayed covers. Larger covers are resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:607 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:599 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 msgid "Max. &OPDS items per query:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:600 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 msgid "Max. OPDS &ungrouped items:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:602 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:603 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "" "

Remember to leave calibre running as the server only runs as long as calibre is running.\n" "

Stanza should see your calibre collection automatically. If not, try adding the URL http://myhostname:8080 as a new catalog in the Stanza reader on your iPhone. Here myhostname should be the fully qualified hostname or the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:617 msgid "Here you can customize the behavior of Calibre by controlling what plugins it uses." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:618 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:619 msgid "&Customize plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:620 msgid "&Remove plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:621 msgid "Add new plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:622 msgid "Plugin &file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 msgid "&Add" msgstr "" @@ -4544,7 +4924,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:850 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:853 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:535 msgid "Date" msgstr "" @@ -4953,11 +5333,6 @@ msgstr "" msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:876 -msgid "Books" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:167 msgid "No permission" msgstr "" @@ -4996,67 +5371,75 @@ msgstr "" msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:444 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:445 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:450 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:532 +msgid "Cannot use tag editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:533 +msgid "The tags editor cannot be used if you have modified the tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:560 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:565 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:570 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:576 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:561 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:572 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:577 msgid "Could not fetch cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:567 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:578 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:583 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:584 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:617 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:618 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:642 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:647 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:648 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:714 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:719 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:720 msgid "Could not open %s. Is it being used by another program?" msgstr "" @@ -5834,135 +6217,136 @@ msgstr "" msgid "Regular expression (?P)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:35 msgid "Save single format to disk..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:51 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:54 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:57 msgid "Download metadata and covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:59 msgid "Download only metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:61 msgid "Download only covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:64 msgid "Download only social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:70 msgid "Merge into first selected book - delete others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:73 msgid "Merge into first selected book - keep others" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:81 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:83 msgid "Add books from directories, including sub-directories (One book per directory, assumes every ebook file is the same book in a different format)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:87 msgid "Add books from directories, including sub directories (Multiple books per directory, assumes every ebook file is a different book)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:90 msgid "Add Empty book. (Book entry with no formats)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:283 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:102 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1782 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:412 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1785 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:415 msgid "Save only %s format to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:117 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:289 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:118 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 msgid "Remove selected books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:126 msgid "Remove files of a specific format from selected books.." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:129 msgid "Remove all formats from selected books, except..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:132 msgid "Remove covers from selected books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:148 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:150 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:154 msgid "Create catalog of books in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:163 msgid "Run welcome wizard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:195 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:300 msgid "Cover Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:318 msgid "Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:339 msgid "Side bar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:385 msgid "Book Details" msgstr "" @@ -6013,15 +6397,15 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:298 msgid "Click to see list of active jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:358 msgid " - Jobs" msgstr "" @@ -6045,52 +6429,34 @@ msgstr "" msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:300 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:305 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033 -#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 -#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:416 -msgid "None" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:311 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1039 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1042 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:656 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1097 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1100 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:350 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:847 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:850 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:854 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:852 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023 -#: /home/kovid/work/calibre/src/calibre/gui2/status.py:101 -msgid "Collections" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1019 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1079 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1082 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1082 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1085 msgid "Double click to edit me

" msgstr "" @@ -6134,11 +6500,11 @@ msgstr "" msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:505 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:506 msgid "Dropping onto a device is not supported. First add the book to the calibre library." msgstr "" @@ -6511,7 +6877,7 @@ msgstr "" msgid "Search (For Advanced Search click the button to the left)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:377 msgid "Saved Searches" msgstr "" @@ -6680,449 +7046,104 @@ 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:172 -msgid "Error communicating with device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:163 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:165 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:173 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:240 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:207 msgid "

For help see the: User Manual
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:213 msgid "%s: %s by Kovid Goyal %%(version)s
%%(device)s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:247 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:347 -msgid "Select folder to open as device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:485 -msgid "Device: " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:487 -msgid " detected." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:519 -msgid "Connected " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 -msgid "Device database corrupted" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:532 -msgid "" -"\n" -"

The database of books on the reader is corrupted. Try the following:\n" -"

    \n" -"
  1. Unplug the reader. Wait for it to finish regenerating the database (i.e. wait till it is ready to be used). Plug it back in. Now it should work with %(app)s. If not try the next step.
  2. \n" -"
  3. Quit %(app)s. Find the file media.xml in the reader's main memory. Delete it. Unplug the reader. Wait for it to regenerate the file. Re-connect it and start %(app)s.
  4. \n" -"
\n" -" " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:772 -msgid "Use library only" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:596 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:773 -msgid "User annotations generated from main library only" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:603 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1098 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1155 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1214 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1344 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1409 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1527 -msgid "No books selected" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:604 -msgid "No books selected to fetch annotations from" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:629 -msgid "Merging user annotations into database" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:657 -msgid "%s
Last Page Read: %d (%d%%)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:663 -msgid "%s
Last Page Read: Location %d (%d%%)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:682 -msgid "Location %d • %s
%s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:691 -msgid "Page %d • %s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:696 -msgid "Location %d • %s
" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:816 -msgid "How many empty books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:817 -msgid "How many empty books should be added?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:865 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:916 -msgid "Uploading books to device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:877 -msgid "EPUB Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:878 -msgid "LRF Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:879 -msgid "HTML Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:880 -msgid "LIT Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:881 -msgid "MOBI Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:882 -msgid "Topaz books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:883 -msgid "Text books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:884 -msgid "PDF Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:885 -msgid "Comics" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:886 -msgid "Archives" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:890 -msgid "Supported books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925 -msgid "Merged some books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926 -msgid "Some duplicates were found and merged into the following existing books:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:935 -msgid "Failed to read metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:936 -msgid "Failed to read metadata from the following" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956 -msgid "Cannot delete" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:959 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1696 -msgid "No book selected" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969 -msgid "Choose formats to be deleted" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:987 -msgid "Choose formats not to be deleted" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1025 -msgid "The selected books will be permanently deleted and the files removed from your computer. Are you sure?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1046 -msgid "The selected books will be permanently deleted from your device. Are you sure?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061 -msgid "Deleting books from device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1097 -msgid "Cannot download metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1113 -msgid "social metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1115 -msgid "covers" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1115 -msgid "metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1117 -msgid "Downloading %s for %d book(s)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1139 -msgid "Failed to download some metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1140 -msgid "Failed to download metadata for the following:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1143 -msgid "Failed to download metadata:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1154 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192 -msgid "Cannot edit metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1213 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1216 -msgid "Cannot merge books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217 -msgid "At least two books must be selected for merging" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221 -msgid "All book formats and metadata from the selected books will be added to the first selected book.

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/ui.py:1232 -msgid "All book formats and metadata from the selected books will be merged into the first selected book.

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 computer.

Are you sure you want to proceed?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1244 -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/ui.py:1343 -msgid "Cannot save to disk" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1346 -msgid "Choose destination directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1379 -msgid "Error while saving" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1380 -msgid "There was an error while saving." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1387 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1388 -msgid "Could not save some books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1389 -msgid "Click the show details button to see which ones." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410 -msgid "No books selected to generate catalog for" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1427 -msgid "Generating %s catalog..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433 -msgid "" -"No books to catalog\n" -"Check exclude tags" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1443 -msgid "Catalog generated." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446 -msgid "Export Catalog Directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1447 -msgid "Select destination for %s.%s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461 -msgid "Fetching news from " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1475 -msgid " fetched." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1526 -msgid "Cannot convert" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1555 -msgid "Starting conversion of %d book(s)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1729 -msgid "Cannot view" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1685 -msgid "Multiple Books Selected" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1686 -msgid "You are attempting to open %d books. Opening too many books at once can be slow and have a negative effect on the responsiveness of your computer. Once started the process cannot be stopped until complete. Do you wish to continue?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1695 -msgid "Cannot open folder" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1730 -msgid "%s has no available formats." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1764 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1769 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:399 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1765 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:395 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1770 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:400 msgid "Cannot configure before calibre is restarted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1817 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:443 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1818 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:444 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1870 -msgid "Failed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1876 -msgid "Error talking to device" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1877 -msgid "There was a temporary error talking to the device. Please unplug and reconnect the device and or reboot." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1900 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1928 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:522 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1901 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:495 msgid "

Could not convert: %s

It is a DRMed book. You must first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1914 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:508 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1929 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:523 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1969 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:563 msgid "is the result of the efforts of many volunteers from all over the world. If you find it useful, please consider donating to support its development." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1994 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:588 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1997 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:591 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:2001 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:595 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:2053 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:647 msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:2072 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:52 msgid "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:2080 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:60 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:2081 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:61 msgid "%s has been updated to version %s. See the new features. Visit the download page?" msgstr "" @@ -7889,48 +7910,48 @@ msgstr "" msgid "Turn on the &content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:270 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:275 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:273 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:278 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:276 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:281 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:279 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:280 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:284 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:285 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:430 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:440 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:435 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:445 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:430 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:440 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:435 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:445 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:433 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:443 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:438 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:448 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:433 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:443 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:438 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:448 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:437 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:442 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:437 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:442 msgid "empty" msgstr "" @@ -8264,7 +8285,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:655 -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:503 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:505 msgid "Show detailed output information. Useful for debugging" msgstr "" @@ -8797,91 +8818,91 @@ msgstr "" msgid "Unknown News Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:605 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:606 msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:702 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:703 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:704 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:705 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:710 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:711 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:712 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:713 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:714 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:715 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:831 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:827 msgid "Could not fetch article. Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:852 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:848 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:857 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:853 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:863 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:859 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:865 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:861 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:946 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:942 msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:962 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:958 msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:972 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:968 msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:980 msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1024 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1020 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1220 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1216 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1291 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1287 msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1302 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1298 msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1319 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1315 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1466 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1462 msgid "Failed to log in, check your username and password for the calibre Periodicals service." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1482 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1478 msgid "You do not have permission to download this issue. Either your subscription has expired or you have exceeded the maximum allowed downloads for today." msgstr "" @@ -8900,46 +8921,46 @@ msgstr "" msgid "Custom" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:480 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:482 msgid "" "%prog URL\n" "\n" "Where URL is for example http://google.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:483 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:485 msgid "Base directory into which URL is saved. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:486 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:488 msgid "Timeout in seconds to wait for a response from the server. Default: %default s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:489 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:491 msgid "Maximum number of levels to recurse i.e. depth of links to follow. Default %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:492 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 msgid "The maximum number of files to download. This only applies to files from tags. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 msgid "Minimum interval in seconds between consecutive fetches. Default is %default s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 msgid "The character encoding for the websites you are trying to download. The default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:500 msgid "Only links that match this regular expression will be followed. This option can be specified multiple times, in which case as long as a link matches any one regexp, it will be followed. By default all links are followed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:500 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:502 msgid "Any link that matches this regular expression will be ignored. This option can be specified multiple times, in which case as long as any regexp matches a link, it will be ignored.By default, no links are ignored. If both --filter-regexp and --match-regexp are specified, then --filter-regexp is applied first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:502 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:504 msgid "Do not download CSS stylesheets." msgstr ""