diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 3063ef252d..418e39c41b 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') return ConfigProxy(c) config = _config() diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index a9e87973bd..47ddf276e6 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -8,16 +8,18 @@ __docformat__ = 'restructuredtext en' import os, collections from PyQt4.Qt import QLabel, QPixmap, QSize, QWidget, Qt, pyqtSignal, \ - QVBoxLayout, QScrollArea, QPropertyAnimation, QEasingCurve + 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 # render_rows(data) {{{ WEIGHTS = collections.defaultdict(lambda : 100) -WEIGHTS[_('Path')] = 0 +WEIGHTS[_('Path')] = 5 WEIGHTS[_('Formats')] = 1 WEIGHTS[_('Collections')] = 2 WEIGHTS[_('Series')] = 3 @@ -29,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): @@ -41,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 @@ -52,53 +55,91 @@ def render_rows(data): # }}} -class CoverView(QLabel): # {{{ +class CoverView(QWidget): # {{{ + def __init__(self, parent=None): - QLabel.__init__(self, parent) - self.animation = QPropertyAnimation(self, 'size', self) + 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.max_width, self.max_height = 120, 120 - self.setScaledContents(True) - self.setPixmap(self.default_pixmap) + self.pixmap = self.default_pixmap + self.pwidth = self.pheight = None + self.data = {} - 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) - self.animation.setEndValue(self.maximumSize()) + self.do_layout() - def setPixmap(self, pixmap): - QLabel.setPixmap(self, pixmap) - self.do_layout() - self.animation.start() + def value_changed(self, val): + self.update() + def setCurrentPixmapSize(self, val): + self._current_pixmap_size = val - def sizeHint(self): - return QSize(self.maximumWidth(), self.maximumHeight()) + def do_layout(self): + pixmap = self.pixmap + pwidth, pheight = pixmap.width(), pixmap.height() + self.pwidth, self.pheight = fit_image(pwidth, pheight, + self.maximumWidth(), self.maximumHeight())[1:] + self.current_pixmap_size = QSize(self.pwidth, self.pheight) + self.animation.setEndValue(self.current_pixmap_size) - def relayout(self, parent_size): - self.max_height = int(parent_size.height()/3.) - self.max_width = parent_size.width() - self.do_layout() + def relayout(self, parent_size): + self.setMaximumSize(parent_size.width(), + int(parent_size.height()/3.)+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 + ) - def show_data(self, data): - if data.has_key('cover'): - self.setPixmap(QPixmap.fromImage(data.pop('cover'))) - else: - self.setPixmap(self.default_pixmap) # }}} @@ -108,10 +149,12 @@ class Label(QLabel): 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 @@ -133,13 +176,17 @@ class BookInfo(QScrollArea): 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('') - self.data = data.copy() - rows = render_rows(self.data) + 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): @@ -188,13 +235,14 @@ 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)) def _link_clicked(self, link): typ, _, val = link.partition(':') @@ -219,3 +267,4 @@ class BookDetails(QWidget): self.show_data({}) + diff --git a/src/calibre/gui2/dialogs/config/__init__.py b/src/calibre/gui2/dialogs/config/__init__.py index b9c57b27ab..aa68c030b5 100644 --- a/src/calibre/gui2/dialogs/config/__init__.py +++ b/src/calibre/gui2/dialogs/config/__init__.py @@ -483,6 +483,14 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): self.port.editingFinished.connect(self.check_port_value) 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() @@ -863,6 +871,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 917333a989..84a2b7bbcb 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,35 +342,35 @@ - + 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 @@ -380,21 +380,21 @@ - + Automatically send downloaded &news to ebook reader - + &Delete news from library when it is automatically sent to reader - + @@ -411,7 +411,7 @@ - + Toolbar @@ -459,7 +459,7 @@ - + @@ -625,6 +625,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 bf28cd45fd..10775ec327 100644 --- a/src/calibre/gui2/status.py +++ b/src/calibre/gui2/status.py @@ -152,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'
calibre can scan your computer for existing books automatically. These books will then be copied into the calibre library. This wizard will help you customize the scanning and import process for your existing book collection.

\n" +"

Choose a root folder. Books will be searched for only inside this folder and any sub-folders.

\n" +"

Make sure that the folder you chose for your calibre library is not under the root folder you choose.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 +msgid "&Root folder:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 +msgid "This folder and its sub-folders will be scanned for books to import into calibre's library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 +#: /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: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 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:186 +msgid "..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:67 +msgid "Handle multiple files per book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:68 +msgid "&One book per folder, assumes every ebook file in a folder is the same book in a different format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:69 +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 @@ -2705,8 +2818,8 @@ msgstr "" msgid "Path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:21 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:45 +#: /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 @@ -2717,19 +2830,25 @@ msgstr "" msgid "Formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:22 +#: /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:45 +#: /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 "" @@ -2769,6 +2888,42 @@ msgstr "" msgid "output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 +msgid "Form" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 +msgid "Fields to include in output:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:17 msgid "E-book options" msgstr "" @@ -2780,6 +2935,54 @@ msgstr "" msgid "Catalog" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:69 +msgid "'Don't include this book' tag:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:70 +msgid "'Mark this book as read' tag:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:71 +msgid "Additional note tag prefix:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:72 +msgid "Regex pattern describing tags to exclude as genres:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:73 +msgid "" +"Regex tips:\n" +"- The default regex - \\[[\\w ]*\\] - excludes genre tags of the form [tag], e.g., [Amazon Freebie]\n" +"- A regex pattern of a single dot excludes all genre tags, generating no Genre Section" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +msgid "Include 'Titles' Section" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +msgid "Include 'Recently Added' Section" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +msgid "Sort numbers as text" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 +msgid "Tab template for catalog.ui" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 msgid "For settings that cannot be specified in this dialog, use the values saved in a previous conversion (if they exist) instead of using the defaults specified in the Preferences" msgstr "" @@ -2805,6 +3008,69 @@ msgstr "" msgid "input" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +msgid "&Number of Colors:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +msgid "Disable &normalize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +msgid "Keep &aspect ratio" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +msgid "Disable &Sharpening" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 +msgid "&Wide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +msgid "&Landscape" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 +msgid "&Right to left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +msgid "Don't so&rt" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 +msgid "De&speckle" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 +msgid "&Disable comic processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:111 +msgid "&Output format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 +msgid "Disable conversion of images to &black and white" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" msgstr "" @@ -2814,6 +3080,7 @@ msgid "Debug the conversion process." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:51 msgid "Choose debug folder" msgstr "" @@ -2825,18 +3092,121 @@ msgstr "" msgid "Failed to create debug directory" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:50 +msgid "Choose a folder to put the debug output into. If you specify a folder, calibre will place a lot of debug output into it. This will be useful in understanding the conversion process and figuring out the correct values for conversion parameters like Table of Contents and Chapter Detection." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 +msgid "The debug process outputs the intermediate HTML generated at various stages of the conversion process. This HTML can sometimes serve as a good starting point for hand editing a conversion." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:49 +msgid "Do not &split on page breaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:50 +msgid "No default &cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:51 +msgid "No &SVG cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:52 +msgid "Preserve cover &aspect ratio" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 +msgid "Split files &larger than:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 +msgid " KB" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:29 +msgid "Do not insert a &Table of Contents at the beginning of the book." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14 msgid "FB2 Output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 +msgid "&Inline TOC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:99 +msgid "Font rescaling wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:100 +msgid "" +"

This wizard will help you choose an appropriate font size key for your needs. Just enter the base font size of the input document and then enter an input font size. The wizard will display what font size it will be mapped to, by the font rescaling algorithm. You can adjust the algorithm by adjusting the output base font size and font key below. When you find values suitable for you, click OK.

\n" +"

By default, if the output base font size is zero and/or no font size key is specified, calibre will use the values from the current Output Profile.

\n" +"

See the User Manual for a discussion of how font size rescaling works.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:103 +msgid "&Output document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109 +msgid "&Base font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:123 +msgid "Font size &key:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 +msgid " pt" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:107 +msgid "Use &default values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 +msgid "&Input document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 +msgid "&Font size: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 +msgid " will map to size: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114 +msgid "0.0 pt" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 msgid "Look & Feel" msgstr "" @@ -2857,12 +3227,121 @@ msgstr "" msgid "Justify text" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:120 +msgid "&Disable font size rescaling" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:121 +msgid "Base &font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:124 +msgid "Wizard to help you choose an appropriate font size key" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:126 +msgid "Line &height:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 +msgid "Input character &encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 +msgid "Remove &spacing between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 +msgid "Indent size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 +msgid "

When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 +msgid " em" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 +msgid "Text justification:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 +msgid "&Linearize tables" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 +msgid "Extra &CSS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 +msgid "&Transliterate unicode characters to ASCII" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 +msgid "Insert &blank line" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 +msgid "Keep &ligatures" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:116 +msgid "Enable &autorotation of wide images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117 +msgid "&Wordspace:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119 +msgid "Minimum para. &indent:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 +msgid "Render &tables as images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 +msgid "Text size multiplier for text in rendered tables:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 +msgid "Add &header" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 +msgid "Header &separation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 +msgid "Header &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 +msgid "&Embed fonts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 +msgid "&Serif font family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 +msgid "S&ans-serif font family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 +msgid "&Monospaced font family:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195 msgid "Metadata" msgstr "" @@ -2901,6 +3380,86 @@ msgstr "" msgid " is not a valid picture" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 +msgid "Book Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 +msgid "Use cover from &source file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +msgid "Change &cover image:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +msgid "Browse for an image to use as the cover of this book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +msgid "&Title: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 +msgid "Change the title of this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +msgid "&Author(s): " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 +msgid "Author So&rt:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 +msgid "Change the author(s) of this book. Multiple authors should be separated by a comma" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +msgid "&Publisher: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +msgid "Ta&gs: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +msgid "Tags categorize the book. This is particularly useful while searching.

They can be any words or phrases, separated by commas." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +msgid "&Series:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +msgid "List of known series. You can add new series." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +msgid "Book " +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:20 msgid "MOBI Output" msgstr "" @@ -2909,26 +3468,124 @@ msgstr "" msgid "Default" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:67 +msgid "&Title for Table of Contents:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:68 +msgid "Rescale images for &Palm devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:69 +msgid "Use author &sort for author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:70 +msgid "Disable compression of the file contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 +msgid "Do not add Table of Contents to book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 +msgid "Kindle options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 +msgid "Periodical masthead font:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 +msgid "Personal Doc tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:116 +msgid "&Output profile:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:117 +msgid "Profile description" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:118 +msgid "&Input profile:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:119 +msgid "Margins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 +msgid "&Left:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 +msgid "&Top:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 +msgid "&Right:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 +msgid "&Bottom:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input.py:12 msgid "PDB Input" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 +msgid "Treat each &line as a paragraph" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:47 +msgid "Assume print formatting" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:16 msgid "PDB Output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:36 +msgid "&Format:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 msgid "PDF Input" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:39 +msgid "Line &Un-Wrapping Factor:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:40 +msgid "No &Images" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:17 msgid "PDF Output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 +msgid "&Paper Size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 +msgid "&Orientation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 +msgid "Preserve &aspect ratio of cover" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" msgstr "" @@ -2945,6 +3602,23 @@ msgstr "" msgid "Open book" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:52 +msgid "Regex Builder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:53 +msgid "Preview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:54 +msgid "Regex:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 +msgid "Test" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:171 msgid "Convert" msgstr "" @@ -2953,6 +3627,21 @@ msgstr "" msgid "Options specific to the input format." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 +msgid "Dialog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:109 +msgid "&Input format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:110 +msgid "Use &saved conversion settings for individual books" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -2999,6 +3688,36 @@ msgstr "" msgid "The XPath expression %s is invalid." msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 +msgid "Chapter &mark:" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 +msgid "Remove first &image" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 +msgid "Insert &metadata as page at start of book" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 +msgid "&Preprocess input file to possibly improve structure detection" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 +msgid "Remove F&ooter" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:65 +msgid "Remove H&eader" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" @@ -3021,14 +3740,145 @@ msgstr "" msgid "Level &3 TOC (XPath expression):" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:63 +msgid "Do not add &detected chapters to the Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:64 +msgid "Number of &links to add to Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:65 +msgid "Chapter &threshold" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:66 +msgid "&Force use of auto-generated Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 +msgid "TOC &Filter:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:48 +msgid "Process using markdown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:49 +msgid "

Markdown is a simple markup language for text files, that allows for advanced formatting. To learn more visit markdown." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:50 +msgid "Do not insert Table of Contents into output text when using markdown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:51 +msgid "Preserve &spaces" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:16 msgid "TXT Output" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:46 +msgid "&Line ending style:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:48 +msgid "&Maximum line length:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 +msgid "Force maximum line lenght" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:50 +msgid "TextLabel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:51 +msgid "Use a wizard to help construct the XPath expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:68 +msgid "Match HTML &tags with tag name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:69 +msgid "*" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:70 +msgid "a" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:71 +msgid "br" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 +msgid "div" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 +msgid "h1" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 +msgid "h2" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 +msgid "h3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 +msgid "h4" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 +msgid "h5" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 +msgid "h6" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 +msgid "hr" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 +msgid "span" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 +msgid "Having the &attribute:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 +msgid "With &value:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 +msgid "(A regular expression)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 +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:119 msgid "Cover browser could not be loaded" msgstr "" @@ -3335,10 +4185,66 @@ msgstr "" msgid "

Cannot upload books to device there is no more free space available " msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:75 +msgid "Select available formats and their order for this device" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 +msgid "Use sub directories" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 +msgid "Save &template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:68 +msgid "Fit &cover to view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 +msgid "&Previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 +msgid "&Next" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:38 msgid "My Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:287 +msgid "Generate catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:70 +msgid "Generate catalog for {0} books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:71 +msgid "Catalog &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:72 +msgid "Catalog &title (existing catalog with the same title will be replaced):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:73 +msgid "&Send catalog to device automatically" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 +msgid "Catalog options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 +msgid "Choose Format" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "" @@ -3347,6 +4253,22 @@ msgstr "" msgid "Set options for converting %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +msgid "&Title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +msgid "&Author(s):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +msgid "&Profile:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 +msgid "Edit Comments" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:173 msgid "%(plugin_type)s %(plugins)s" msgstr "" @@ -3417,153 +4339,547 @@ 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: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:349 +#: /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 "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:103 +msgid "TabWidget" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:104 +msgid "Here you can control how calibre will read metadata from the files you add to it. calibre can either read metadata from the contents of the file, or from the filename." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:105 +msgid "Read metadata only from &file name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:106 +msgid "Swap the firstname and lastname of the author. This affects only metadata read from file names." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:107 +msgid "&Swap author firstname and lastname" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:108 +msgid "" +"If an existing book with a similar title and author is found that does not have the format being added, the format is added \n" +"to the existing book, instead of creating a new entry. If the existing book already has the format, then it is silently ignored.\n" +"\n" +"Title match ignores leading indefinite articles (\"the\", \"a\", \"an\"), punctuation, case, etc. Author match is exact." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:112 +msgid "If books with similar titles and authors found, &merge the new files automatically" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:113 +msgid "&Configure metadata from file name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:114 +msgid "&Adding books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:115 +msgid "Here you can control how calibre will save your books when you click the Save to Disk button:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:116 +msgid "Save &cover separately" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:117 +msgid "Update &metadata in saved copies" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:118 +msgid "Save metadata in &OPF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:119 +msgid "Convert non-English characters to &English equivalents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:120 +msgid "Format &dates as:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:121 +msgid "File &formats to save:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:122 +msgid "Replace space with &underscores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:123 +msgid "Change paths to &lowercase" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:124 +msgid "&Saving books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:125 +msgid "Here you can control how calibre will save your books when you click the Send to Device button. This setting can be overriden for individual devices by customizing the device interface plugins in Preferences->Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/add_save_ui.py:126 +msgid "Sending to &device" +msgstr "" + +#: /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: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:546 +msgid "Browse for the new database location" +msgstr "" + +#: /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:549 +msgid "Download &social metadata (tags/ratings/etc.) by default" +msgstr "" + +#: /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:551 +msgid "Default network &timeout:" +msgstr "" + +#: /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:553 +msgid " seconds" +msgstr "" + +#: /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:555 +msgid "Normal" +msgstr "" + +#: /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:557 +msgid "Low" +msgstr "" + +#: /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:559 +msgid "Preferred &output format:" +msgstr "" + +#: /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:563 +msgid "Use &Roman numerals for series number" +msgstr "" + +#: /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:565 +msgid "Show ¬ifications in system tray" +msgstr "" + +#: /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:567 +msgid "Show cover &browser in a separate window (needs restart)" +msgstr "" + +#: /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:569 +msgid "Automatically send downloaded &news to ebook reader" +msgstr "" + +#: /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: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:572 +msgid "Toolbar" +msgstr "" + +#: /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:574 +msgid "Medium" +msgstr "" + +#: /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:576 +msgid "&Button size in toolbar" +msgstr "" + +#: /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:578 +msgid "Select visible &columns in library view" +msgstr "" + +#: /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:582 +msgid "Add a user-defined column" +msgstr "" + +#: /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:587 +msgid "Use internal &viewer for:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:588 +msgid "User Interface &layout (needs restart):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:589 +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 "&Add email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:591 +msgid "Make &default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:592 +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: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: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: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:606 +msgid "Max. &cover size:" +msgstr "" + +#: /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:608 +msgid "Max. &OPDS items per query:" +msgstr "" + +#: /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:610 +msgid "&Start Server" +msgstr "" + +#: /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:612 +msgid "&Test Server" +msgstr "" + +#: /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:614 +msgid "View &server logs" +msgstr "" + +#: /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: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:618 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /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:620 +msgid "&Remove plugin" +msgstr "" + +#: /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:622 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:624 +msgid "&Add" +msgstr "" + #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_ct_column_ui.py:125 msgid "Create Tag-based Column" @@ -3708,6 +5024,68 @@ msgstr "" msgid "The lookup name must be lower case and cannot contain \":\"s or spaces" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:117 +msgid "Create or edit custom columns" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:102 +msgid "&Lookup name" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:103 +msgid "Column &heading" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:104 +msgid "Used for searching the column. Must contain only digits and lower case letters." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:105 +msgid "Column heading in the library view and category name in the tag browser" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:106 +msgid "Column &type" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:107 +msgid "What kind of information will be kept in the column." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:108 +msgid "" +"

Date format. Use 1-4 'd's for day, 1-4 'M's for month, and 2 or 4 'y's for year.

\n" +"

For example:\n" +"

    \n" +"
  • ddd, d MMM yyyy gives Mon, 5 Jan 2010
  • \n" +"
  • dd MMMM yy gives 05 January 10
  • \n" +"
" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:114 +msgid "Use MMM yyyy for month + year, yyyy for year only" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:115 +msgid "Default: dd MMM yyyy." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/create_custom_column_ui.py:116 +msgid "Format for &dates" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/device_debug.py:21 msgid "Getting debug information" msgstr "" @@ -3730,10 +5108,33 @@ msgstr "" msgid "The template %s is invalid:" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:42 +msgid "Save &template" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:43 +msgid "By adjusting the template below, you can control what folders the files are saved in and what filenames they are given. You can use the / character to indicate sub-folders. Available metadata variables are described below. If a particular book does not have some metadata, the variable will be replaced by the empty string." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/save_template_ui.py:44 +msgid "Available variables:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/social.py:34 msgid "Downloading social metadata, please wait..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:42 +msgid "ERROR" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 msgid "Author Sort" msgstr "" @@ -3770,10 +5171,160 @@ msgstr "" msgid "No metadata found, try adjusting the title and author or the ISBN key." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:85 +msgid "Fetch metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:86 +msgid "

calibre can find metadata for your books from two locations: Google Books and isbndb.com.

To use isbndb.com you must sign up for a free account and enter your access key below." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:87 +msgid "&Access Key:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:88 +msgid "Fetch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:89 +msgid "Matches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 +msgid "Select the book that most closely matches your copy from the list below" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:91 +msgid "Download &social metadata (tags/rating/etc.) for the selected book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 +msgid "Overwrite author and title with author and title of selected book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:37 +msgid "Details of job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:44 +msgid "Active Jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:45 +msgid "&Stop selected job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:46 +msgid "Show job &details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:47 +msgid "Stop &all jobs" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:24 msgid "Editing meta information for %d books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:157 +msgid "Edit Meta information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:159 +msgid "A&utomatically set author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:160 +msgid "Author s&ort: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +msgid "&Rating:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +msgid "Rating of this book. 0-5 stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:165 +msgid "No change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +msgid " stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:168 +msgid "Add ta&gs: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 +msgid "Open Tag Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +msgid "&Remove tags:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:173 +msgid "Comma separated list of tags to remove from the books. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:177 +msgid "Remove &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:178 +msgid "&Swap title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:179 +msgid "" +"Selected books will be automatically numbered,\n" +"in the order you selected them.\n" +"So if you selected Book A and then Book B,\n" +"Book A will have series number 1 and Book B series number 2." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:183 +msgid "Automatically number books in this series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:184 +msgid "" +"Remove stored conversion settings for the selected books.\n" +"\n" +"Future conversion of these books will use the default settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 +msgid "Remove &stored conversion settings for the selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:412 +msgid "&Basic metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413 +msgid "&Custom metadata" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:125 msgid "Not a valid picture" msgstr "" @@ -3892,6 +5443,86 @@ msgstr "" msgid "Could not open %s. Is it being used by another program?" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +msgid "Edit Meta Information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 +msgid "Meta information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +msgid "Swap the author and title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +msgid "Author S&ort: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +msgid "Automatically create the author sort entry based on the current author entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +msgid "Remove unused series (Series that have no books)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +msgid "IS&BN:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +msgid "Publishe&d:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +msgid "dd MMM yyyy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +msgid "&Date:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +msgid "&Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +msgid "&Fetch metadata from server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +msgid "Available Formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +msgid "Add a new format for this book to the database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +msgid "Remove the selected formats for this book from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +msgid "Set the cover for the book from the selected format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +msgid "Update metadata from the metadata in the selected format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +msgid "Reset cover to default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 +msgid "Download &cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 +msgid "Password needed" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:52 msgid "Aborting..." msgstr "" @@ -3900,6 +5531,41 @@ msgstr "" msgid "The current saved search will be permanently deleted. Are you sure?" msgstr "" +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:83 +msgid "Saved Search Editor" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:84 +msgid "Saved Search: " +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:85 +msgid "Select a saved search to edit" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:86 +msgid "Delete this selected saved search" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 +msgid "Enter a new saved search name." +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 +msgid "Add the new saved search" +msgstr "" + +#: +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 +msgid "Change the contents of the saved search" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:119 msgid "Need username and password" msgstr "" @@ -3925,6 +5591,7 @@ msgid "Last downloaded" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:192 msgid "Schedule news download" msgstr "" @@ -3944,6 +5611,182 @@ msgstr "" msgid "Cannot download news as no internet connection is active" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:278 +msgid "Recipes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:194 +msgid "Download all scheduled recipes at once" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:195 +msgid "Download &all scheduled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:196 +msgid "blurb" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 +msgid "&Schedule for download:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 +msgid "Every " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:199 +msgid "day" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:200 +msgid "Monday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 +msgid "Tuesday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 +msgid "Wednesday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:203 +msgid "Thursday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:204 +msgid "Friday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:205 +msgid "Saturday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 +msgid "Sunday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 +msgid "at" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 +msgid "Interval at which to download this recipe. A value of zero means that the recipe will be downloaded every hour." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 +msgid " days" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 +msgid "&Account" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 +msgid "For the scheduling to work, you must leave calibre running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 +msgid "&Schedule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 +msgid "Add &title as tag" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 +msgid "&Extra tags:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 +msgid "&Advanced" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 +msgid "&Download now" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 +msgid "Delete downloaded news older than the specified number of days. Set to zero to disable." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 +msgid "Delete downloaded news older than " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 +msgid "contains" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 +msgid "The text to search for. It is interpreted as a regular expression." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 +msgid "

Negate this match. That is, only return results that do not match this query." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 +msgid "Negate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:113 +msgid "Advanced Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:114 +msgid "Find entries that have..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:115 +msgid "&All these words:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:116 +msgid "This exact &phrase:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:117 +msgid "&One or more of these words:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 +msgid "But dont show entries that have..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 +msgid "Any of these &unwanted words:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 +msgid "What kind of match to use:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 +msgid "Contains: the word or phrase matches anywhere in the metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 +msgid "Equals: the word or phrase must match an entire metadata field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 +msgid "Regular expression: the expression must match anywhere in the metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 +msgid " " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 +msgid "See the User Manual for more help" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" msgstr "" @@ -3966,6 +5809,54 @@ msgstr "" msgid "The current tag category will be permanently deleted. Are you sure?" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:153 +msgid "User Categories Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:154 +msgid "A&vailable items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:155 +msgid "Apply tags to current tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:157 +msgid "A&pplied items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 +msgid "Unapply (remove) tag from current tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160 +msgid "Category name: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161 +msgid "Select a category to edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162 +msgid "Delete this selected tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:164 +msgid "Enter a new category name. Select the kind before adding it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165 +msgid "Add the new category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 +msgid "Category filter: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168 +msgid "Select the content kind of the new category" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:93 msgid "Are your sure?" @@ -3975,6 +5866,42 @@ msgstr "" msgid "The following tags are used by one or more books. Are you certain you want to delete them?" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 +msgid "Tag Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 +msgid "A&vailable tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 +msgid "Delete tag from database. This will unapply the tag from all books and then remove it from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 +msgid "Apply tag to current book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 +msgid "A&pplied tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 +msgid "Unapply (remove) tag from current book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 +msgid "&Add tag:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 +msgid "If the tag you want is not in the available list, you can add it here. Accepts a comma separated list of tags." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 +msgid "Add tag to available tags and apply it to current book" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:441 msgid "Item is blank" @@ -4013,6 +5940,39 @@ msgstr "" msgid "Are you certain you want to delete the following items?" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:71 +msgid "Category Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 +msgid "Items in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 +msgid "Delete item from database. This will unapply the item from all books and then remove it from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 +msgid "Rename the item in every book where it is used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:51 +msgid "Test email settings" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:52 +msgid "Send test mail from %s to:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 +msgid "&Test" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:127 msgid "No recipe selected" msgstr "" @@ -4027,6 +5987,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:150 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" msgstr "" @@ -4095,137 +6056,297 @@ msgstr "" msgid "Choose a recipe file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:278 -msgid "Recipes" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 +msgid "Add custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 +msgid "Available user recipes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 +msgid "Add/Update &recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 +msgid "&Remove recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 +msgid "&Share recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 +msgid "Customize &builtin recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 +msgid "&Load recipe from file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 +msgid "" +"\n" +"

Create a basic news recipe, by adding RSS feeds to it.
For most feeds, you will have to use the \"Advanced mode\" to further customize the fetch process.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:260 +msgid "Recipe &title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 +msgid "&Oldest article:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 +msgid "The oldest article to download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 +msgid "&Max. number of articles per feed:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265 +msgid "Maximum number of articles to download per feed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:266 +msgid "Feeds in recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:268 +msgid "Remove feed from recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:274 +msgid "Add feed to recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272 +msgid "&Feed title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 +msgid "Feed &URL:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 +msgid "&Add feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276 +msgid "For help with writing advanced news recipes, please visit User Recipes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:277 +msgid "Recipe source code (python)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 +msgid "" +"\n" +"\n" +"

Set a regular expression pattern to use when trying to guess ebook metadata from filenames.

\n" +"

A reference on the syntax of regular expressions is available.

\n" +"

Use the Test functionality below to test your regular expression on a few sample filenames. The group names for the various metadata entries are documented in tooltips.

" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 +msgid "Regular &expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:116 +msgid "File &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 +msgid "Title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:119 +msgid "Regular expression (?P<title>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:96 +msgid "No match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 +msgid "Authors:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:122 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:124 +msgid "Series:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:125 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:127 +msgid "Series index:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:128 +msgid "Regular expression (?P)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:130 +msgid "ISBN:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:131 +msgid "Regular expression (?P)" +msgstr "" + +#: /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:411 +#: /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:414 +#: /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:146 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:148 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:150 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:152 +#: /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:161 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:163 msgid "Run welcome wizard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:195 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:300 msgid "Cover Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:318 msgid "Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:339 msgid "Side bar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:385 msgid "Book Details" msgstr "" @@ -4276,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 "" @@ -4387,6 +6508,22 @@ msgstr "" msgid "Dropping onto a device is not supported. First add the book to the calibre library." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:47 +msgid "Configure Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:48 +msgid "Use white background" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:49 +msgid "Hyphenate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:50 +msgid "Changes will only take effect after a restart." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70 msgid " - LRF Viewer" msgstr "" @@ -4400,6 +6537,51 @@ msgstr "" msgid "No matches found" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 +msgid "LRF Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 +msgid "Parsing LRF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130 +msgid "LRF Viewer toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:476 +msgid "Next Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 +msgid "Previous Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:188 +msgid "Back" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:189 +msgid "Forward" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 +msgid "Next match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:196 +msgid "Open ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 +msgid "Configure" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/main.py:30 msgid "Use the library located at the specified path." msgstr "" @@ -4512,6 +6694,152 @@ msgstr "" msgid "try deleting the file" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:253 +msgid "calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:255 +msgid "&Restrict to:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:256 +msgid "Books display will be restricted to those matching the selected saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:257 +msgid "set in ui.py" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:258 +msgid "Advanced search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:260 +msgid "Alt+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:261 +msgid "&Search:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:263 +msgid "

Search the list of books by title, author, publisher, tags, comments, etc.

Words separated by spaces are ANDed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:264 +msgid "Reset Quick Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:266 +msgid "Choose saved search or enter name for new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:267 +msgid "Copy current search text (instead of search name)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:269 +msgid "Save current search under the name shown in the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 +msgid "Delete current saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:273 +msgid "Add books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:274 +msgid "A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:276 +msgid "Remove books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:277 +msgid "Del" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:278 +msgid "Edit meta information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:279 +msgid "E" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:280 +msgid "Merge book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:281 +msgid "M" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:282 +msgid "Send to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:284 +msgid "S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:285 +msgid "Fetch news" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:286 +msgid "F" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:287 +msgid "Convert E-books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:288 +msgid "C" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:290 +msgid "V" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:291 +msgid "Open containing folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:292 +msgid "Show book details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:293 +msgid "Books by same author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:294 +msgid "Books in this series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:295 +msgid "Books by this publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:296 +msgid "Books with the same tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:298 +msgid "Configure calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:299 +msgid "Ctrl+P" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:20 msgid "Redirect console output to a dialog window (both stdout and stderr). Useful on windows where GUI apps do not have a output streams." msgstr "" @@ -4583,6 +6911,7 @@ msgid " or " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:69 msgid "&Default" msgstr "" @@ -4598,6 +6927,32 @@ msgstr "" msgid "Double click to change" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:68 +msgid "Frame" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:70 +msgid "&Custom" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:71 +msgid "&Shortcut:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:77 +msgid "Click to change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79 +msgid "Clear" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:76 +msgid "&Alternate shortcut:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:150 msgid "Rename" msgstr "" @@ -4683,10 +7038,6 @@ msgstr "" msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:287 -msgid "Generate catalog" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:299 msgid "Convert existing" msgstr "" @@ -4695,92 +7046,92 @@ 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:162 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:163 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:164 +#: /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:167 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:173 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:206 +#: /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:212 +#: /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:246 +#: /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:393 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:398 +#: /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:394 +#: /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:399 +#: /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:442 +#: /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:443 +#: /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:493 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:521 +#: /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:494 +#: /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:507 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:508 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:523 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:562 +#: /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:587 +#: /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:590 +#: /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:594 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:595 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:646 +#: /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 "" @@ -4824,6 +7175,124 @@ msgstr "" msgid "Name" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:56 +msgid "Bookmark Manager" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:57 +msgid "Actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:58 +msgid "Edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:59 +msgid "Delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:60 +msgid "Reset" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 +msgid "Export" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 +msgid "Import" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:154 +msgid "Configure Ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:155 +msgid "&Font options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:156 +msgid "Se&rif family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:157 +msgid "&Sans family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:158 +msgid "&Monospace family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:159 +msgid "&Default font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:168 +msgid " px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:161 +msgid "Monospace &font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:163 +msgid "S&tandard font:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:164 +msgid "Serif" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:165 +msgid "Sans-serif" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:166 +msgid "Monospace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:167 +msgid "Remember last used &window size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:169 +msgid "Maximum &view width:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:170 +msgid "H&yphenate (break line in the middle of large words)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:171 +msgid "The default language to use for hyphenation rules. If the book does not specify a language, this will be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:172 +msgid "Default &language for hyphenation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:173 +msgid "&Resize images larger than the viewer window (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:174 +msgid "&User stylesheet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:175 +msgid "&General" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:176 +msgid "Double click to change a keyboard shortcut" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:177 +msgid "&Keyboard shortcuts" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53 msgid "No results found for:" msgstr "" @@ -4919,14 +7388,6 @@ msgstr "" msgid "Section End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:476 -msgid "Next Page" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 -msgid "Previous Page" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:12 msgid "Scroll to the next page" msgstr "" @@ -5066,16 +7527,80 @@ msgid "" "View an ebook.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:114 -msgid "Print eBook" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:184 +msgid "E-book Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:96 -msgid "No match" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:185 +msgid "Close dictionary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:187 +msgid "toolBar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:190 +msgid "Next page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 +msgid "Previous page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:192 +msgid "Font size larger" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193 +msgid "Font size smaller" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197 +msgid "Find next" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 +msgid "Find next occurrence" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 +msgid "F3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200 +msgid "Copy to clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 +msgid "Reference Mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203 +msgid "Bookmark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204 +msgid "Toggle full screen" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 +msgid "Print" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 +msgid "Find previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 +msgid "Find previous occurrence" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208 +msgid "Shift+F3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:114 +msgid "Print eBook" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:198 @@ -5203,6 +7728,71 @@ msgstr "" msgid "welcome wizard" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 +msgid "Welcome to calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 +msgid "The one stop solution to all your e-book needs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:51 +msgid "Choose your book reader. This will set the conversion options to produce books optimized for your device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:52 +msgid "&Manufacturers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:53 +msgid "&Devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48 +msgid "

Congratulations!

You have successfully setup calibre. Press the %s button to apply your settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:49 +msgid "

Demo videos

Videos demonstrating the various features of calibre are available online." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50 +msgid "

User Manual

A User Manual is also available online." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:44 +msgid "

calibre can automatically send books by email to your Kindle. To do that you have to setup email delivery below. The easiest way is to setup a free gmail account and click the Use gmail button below. You will also have to register your gmail address in your Amazon account." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:45 +msgid "&Kindle email:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:52 +msgid "Choose your &language:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:53 +msgid "Choose a location for your books. When you add books to calibre, they will be copied here:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 +msgid "&Change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55 +msgid "If you have an existing calibre library, it will be copied to the new location. If a calibre library already exists at the new location, calibre will switch to using it." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "" @@ -5236,6 +7826,90 @@ msgstr "" msgid "You must set the username and password for the mail server." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:108 +msgid "Send email &from:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:109 +msgid "

This is what will be present in the From: field of emails sent by calibre.
Set it to your email address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:110 +msgid "

A mail server is useful if the service you are sending mail to only accepts email from well know mail services." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:111 +msgid "Mail &Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +msgid "calibre can optionally use a server to send mail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +msgid "&Hostname:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +msgid "The hostname of your mail server. For e.g. smtp.gmail.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +msgid "&Port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +msgid "The port your mail server listens for connections on. The default is 25" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +msgid "Your username on the mail server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +msgid "Your password on the mail server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +msgid "&Show" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +msgid "&Encryption:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +msgid "Use TLS encryption when connecting to the mail server. This is the most common." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +msgid "&TLS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +msgid "Use SSL encryption when connecting to the mail server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +msgid "&SSL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +msgid "Use Gmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +msgid "&Test email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:44 +msgid "

If you use the Stanza e-book app on your iPhone/iTouch, you can access your calibre book collection directly on the device. To do this you have to turn on the calibre content server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:45 +msgid "Turn on the &content server" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/caches.py:275 msgid "today" msgstr ""