mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Sync to trunk.
This commit is contained in:
commit
4fe89589e3
@ -21,9 +21,12 @@ class TheAtlantic(BasicNewsRecipe):
|
|||||||
dict(name='div', id=['seealso','storybottom', 'footer', 'ad_banner_top', 'sidebar','articletoolstop','subcontent',]),
|
dict(name='div', id=['seealso','storybottom', 'footer', 'ad_banner_top', 'sidebar','articletoolstop','subcontent',]),
|
||||||
dict(name='p', attrs={'id':["pagination"]}),
|
dict(name='p', attrs={'id':["pagination"]}),
|
||||||
dict(name='table',attrs={'class':"tools"}),
|
dict(name='table',attrs={'class':"tools"}),
|
||||||
|
dict(name='style'),
|
||||||
dict(name='a', href='/a/newsletters.mhtml')
|
dict(name='a', href='/a/newsletters.mhtml')
|
||||||
]
|
]
|
||||||
|
remove_attributes = ['icap', 'callout', 'style']
|
||||||
no_stylesheets = True
|
no_stylesheets = True
|
||||||
|
conversion_options = { 'linearize_tables':True }
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
||||||
#timestamp{font-family:Arial,Helvetica,sans-serif; color:#666666 ;font-size:x-small}
|
#timestamp{font-family:Arial,Helvetica,sans-serif; color:#666666 ;font-size:x-small}
|
||||||
@ -50,10 +53,14 @@ class TheAtlantic(BasicNewsRecipe):
|
|||||||
for item in soup.findAll('div', attrs={'class':'item'}):
|
for item in soup.findAll('div', attrs={'class':'item'}):
|
||||||
a = item.find('a')
|
a = item.find('a')
|
||||||
if a and a.has_key('href'):
|
if a and a.has_key('href'):
|
||||||
url = a['href']#.replace('/doc', 'doc/print')
|
url = a['href']
|
||||||
if not url.startswith('http://'):
|
if not url.startswith('http://'):
|
||||||
url = 'http://www.theatlantic.com/'+url
|
url = 'http://www.theatlantic.com/'+url
|
||||||
|
url = url.replace('/doc/', '/doc/print/')
|
||||||
title = self.tag_to_string(a)
|
title = self.tag_to_string(a)
|
||||||
|
if title in ('VIDEO', 'AUDIO', 'INTERACTIVE MAP', 'SIDEBAR', 'RECIPES'):
|
||||||
|
continue
|
||||||
|
title = title.replace('&', '&')
|
||||||
byline = item.find(attrs={'class':'byline'})
|
byline = item.find(attrs={'class':'byline'})
|
||||||
date = self.tag_to_string(byline) if byline else ''
|
date = self.tag_to_string(byline) if byline else ''
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -10,7 +10,7 @@ from calibre.ebooks.BeautifulSoup import Tag
|
|||||||
|
|
||||||
class HLN_be(BasicNewsRecipe):
|
class HLN_be(BasicNewsRecipe):
|
||||||
title = 'Het Belang Van Limburg'
|
title = 'Het Belang Van Limburg'
|
||||||
__author__ = 'Darko Miletic'
|
__author__ = 'Darko Miletic and Sujata Raman'
|
||||||
description = 'News from Belgium in Dutch'
|
description = 'News from Belgium in Dutch'
|
||||||
publisher = 'Het Belang Van Limburg'
|
publisher = 'Het Belang Van Limburg'
|
||||||
category = 'news, politics, Belgium'
|
category = 'news, politics, Belgium'
|
||||||
@ -32,6 +32,14 @@ class HLN_be(BasicNewsRecipe):
|
|||||||
|
|
||||||
html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\noverride_css=" p {text-indent: 0cm; margin-top: 0em; margin-bottom: 0.5em} "'
|
html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\noverride_css=" p {text-indent: 0cm; margin-top: 0em; margin-bottom: 0.5em} "'
|
||||||
|
|
||||||
|
extra_css = '''
|
||||||
|
body{font-family:"Verdana",sans-serif; font-size:80%;}
|
||||||
|
.h1{font-family:"Verdana",sans-serif; font-size:large; font-weight:bold;}
|
||||||
|
.captionEmbeddedMasterObject{font-style:italic; font-size:80%;}
|
||||||
|
.gen_footnote3{font-size:80%; color: #666666;}
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
keep_only_tags = [dict(name='div', attrs={'class':'art_box2'})]
|
keep_only_tags = [dict(name='div', attrs={'class':'art_box2'})]
|
||||||
remove_tags = [
|
remove_tags = [
|
||||||
dict(name=['embed','object'])
|
dict(name=['embed','object'])
|
||||||
|
@ -6,7 +6,7 @@ __license__ = 'GPL v3'
|
|||||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
import sys, os, textwrap, subprocess, shutil, tempfile, atexit, stat
|
import sys, os, textwrap, subprocess, shutil, tempfile, atexit, stat, shlex
|
||||||
|
|
||||||
from setup import Command, islinux, basenames, modules, functions, \
|
from setup import Command, islinux, basenames, modules, functions, \
|
||||||
__appname__, __version__
|
__appname__, __version__
|
||||||
@ -149,7 +149,9 @@ class Develop(Command):
|
|||||||
src = os.path.join(self.SRC, 'calibre', 'devices', 'linux_mount_helper.c')
|
src = os.path.join(self.SRC, 'calibre', 'devices', 'linux_mount_helper.c')
|
||||||
dest = os.path.join(self.staging_bindir, 'calibre-mount-helper')
|
dest = os.path.join(self.staging_bindir, 'calibre-mount-helper')
|
||||||
self.info('Installing mount helper to '+ dest)
|
self.info('Installing mount helper to '+ dest)
|
||||||
p = subprocess.Popen(['gcc', '-Wall', '-pedantic', src, '-o', dest])
|
cflags = os.environ.get('OVERRIDE_CFLAGS', '-Wall -pedantic')
|
||||||
|
cflags = shlex.split(cflags)
|
||||||
|
p = subprocess.Popen(['gcc']+cflags+[src, '-o', dest])
|
||||||
ret = p.wait()
|
ret = p.wait()
|
||||||
if ret != 0:
|
if ret != 0:
|
||||||
return warn()
|
return warn()
|
||||||
|
@ -6,7 +6,13 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
|||||||
import sys, re, os, shutil, subprocess, stat, glob, zipfile, plistlib
|
import sys, re, os, shutil, subprocess, stat, glob, zipfile, plistlib
|
||||||
from setup import __version__ as VERSION, __appname__ as APPNAME, SRC, Command, \
|
from setup import __version__ as VERSION, __appname__ as APPNAME, SRC, Command, \
|
||||||
scripts, basenames, functions as main_functions, modules as main_modules
|
scripts, basenames, functions as main_functions, modules as main_modules
|
||||||
from setuptools import setup
|
|
||||||
|
try:
|
||||||
|
from setuptools import setup
|
||||||
|
except:
|
||||||
|
setup
|
||||||
|
class setup:
|
||||||
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from py2app.build_app import py2app
|
from py2app.build_app import py2app
|
||||||
|
@ -36,4 +36,12 @@ class ESLICK(USBMS):
|
|||||||
|
|
||||||
SUPPORTS_SUB_DIRS = True
|
SUPPORTS_SUB_DIRS = True
|
||||||
|
|
||||||
|
def windows_sort_drives(self, drives):
|
||||||
|
main = drives.get('main', None)
|
||||||
|
card = drives.get('carda', None)
|
||||||
|
if card and main and card < main:
|
||||||
|
drives['main'] = card
|
||||||
|
drives['carda'] = main
|
||||||
|
|
||||||
|
return drives
|
||||||
|
|
||||||
|
@ -489,6 +489,9 @@ class MobiReader(object):
|
|||||||
mobi_version = self.book_header.mobi_version
|
mobi_version = self.book_header.mobi_version
|
||||||
for i, tag in enumerate(root.iter(etree.Element)):
|
for i, tag in enumerate(root.iter(etree.Element)):
|
||||||
tag.attrib.pop('xmlns', '')
|
tag.attrib.pop('xmlns', '')
|
||||||
|
for x in tag.attrib:
|
||||||
|
if ':' in x:
|
||||||
|
del tag.attrib[x]
|
||||||
if tag.tag in ('country-region', 'place', 'placetype', 'placename',
|
if tag.tag in ('country-region', 'place', 'placetype', 'placename',
|
||||||
'state', 'city', 'street', 'address', 'content'):
|
'state', 'city', 'street', 'address', 'content'):
|
||||||
tag.tag = 'div' if tag.tag == 'content' else 'span'
|
tag.tag = 'div' if tag.tag == 'content' else 'span'
|
||||||
|
@ -188,6 +188,16 @@ class Stylizer(object):
|
|||||||
%(text, item.href))
|
%(text, item.href))
|
||||||
for elem in matches:
|
for elem in matches:
|
||||||
self.style(elem)._update_cssdict(cssdict)
|
self.style(elem)._update_cssdict(cssdict)
|
||||||
|
for elem in xpath(tree, '//h:img[@width or @height]'):
|
||||||
|
base = elem.get('style', '').strip()
|
||||||
|
if base:
|
||||||
|
base += ';'
|
||||||
|
for prop in ('width', 'height'):
|
||||||
|
val = elem.get(prop, False)
|
||||||
|
if val:
|
||||||
|
base += '%s: %s;'%(prop, val)
|
||||||
|
del elem.attrib[prop]
|
||||||
|
elem.set('style', base)
|
||||||
for elem in xpath(tree, '//h:*[@style]'):
|
for elem in xpath(tree, '//h:*[@style]'):
|
||||||
self.style(elem)._apply_style_attr()
|
self.style(elem)._apply_style_attr()
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ class Tokenize:
|
|||||||
return line
|
return line
|
||||||
def __compile_expressions(self):
|
def __compile_expressions(self):
|
||||||
self.__ms_hex_exp = re.compile(r"\\\'(..)")
|
self.__ms_hex_exp = re.compile(r"\\\'(..)")
|
||||||
self.__utf_exp = re.compile(r"\\u(-?\d{3,6})")
|
self.__utf_exp = re.compile(r"\\u(-?\d{3,6}) {0,1}")
|
||||||
self.__splitexp = re.compile(r"(\\[\\{}]|{|}|\\[^\s\\{}&]+(?:\s)?)")
|
self.__splitexp = re.compile(r"(\\[\\{}]|{|}|\\[^\s\\{}&]+(?:\s)?)")
|
||||||
self.__par_exp = re.compile(r'\\$')
|
self.__par_exp = re.compile(r'\\$')
|
||||||
self.__mixed_exp = re.compile(r"(\\[a-zA-Z]+\d+)(\D+)")
|
self.__mixed_exp = re.compile(r"(\\[a-zA-Z]+\d+)(\D+)")
|
||||||
|
@ -453,6 +453,12 @@ class ConfigDialog(QDialog, Ui_Dialog):
|
|||||||
self.delete_news.setEnabled)
|
self.delete_news.setEnabled)
|
||||||
self.setup_conversion_options()
|
self.setup_conversion_options()
|
||||||
self.opt_worker_limit.setValue(config['worker_limit'])
|
self.opt_worker_limit.setValue(config['worker_limit'])
|
||||||
|
self.connect(self.button_open_config_dir, SIGNAL('clicked()'),
|
||||||
|
self.open_config_dir)
|
||||||
|
|
||||||
|
def open_config_dir(self):
|
||||||
|
from calibre.utils.config import config_dir
|
||||||
|
QDesktopServices.openUrl(QUrl.fromLocalFile(config_dir))
|
||||||
|
|
||||||
def create_symlinks(self):
|
def create_symlinks(self):
|
||||||
from calibre.utils.osx_symlinks import create_symlinks
|
from calibre.utils.osx_symlinks import create_symlinks
|
||||||
|
@ -616,13 +616,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="2">
|
<item row="3" column="0" colspan="2">
|
||||||
<widget class="QPushButton" name="button_osx_symlinks">
|
<widget class="QPushButton" name="button_osx_symlinks">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>&Install command line tools</string>
|
<string>&Install command line tools</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
|
<widget class="QPushButton" name="button_open_config_dir">
|
||||||
|
<property name="text">
|
||||||
|
<string>Open calibre &configuration directory</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="page_4">
|
<widget class="QWidget" name="page_4">
|
||||||
|
@ -14,7 +14,7 @@ from PyQt4.Qt import QDialog, QApplication, SIGNAL, Qt, QTime, QObject, QMenu, \
|
|||||||
|
|
||||||
from calibre.gui2.dialogs.scheduler_ui import Ui_Dialog
|
from calibre.gui2.dialogs.scheduler_ui import Ui_Dialog
|
||||||
from calibre.gui2.search_box import SearchBox2
|
from calibre.gui2.search_box import SearchBox2
|
||||||
from calibre.gui2 import config as gconf
|
from calibre.gui2 import config as gconf, error_dialog
|
||||||
from calibre.web.feeds.recipes.model import RecipeModel
|
from calibre.web.feeds.recipes.model import RecipeModel
|
||||||
from calibre.ptempfile import PersistentTemporaryFile
|
from calibre.ptempfile import PersistentTemporaryFile
|
||||||
|
|
||||||
@ -36,6 +36,7 @@ class SchedulerDialog(QDialog, Ui_Dialog):
|
|||||||
self.connect(self.recipe_model, SIGNAL('searched(PyQt_PyObject)'),
|
self.connect(self.recipe_model, SIGNAL('searched(PyQt_PyObject)'),
|
||||||
self.search_done)
|
self.search_done)
|
||||||
self.search.setFocus(Qt.OtherFocusReason)
|
self.search.setFocus(Qt.OtherFocusReason)
|
||||||
|
self.commit_on_change = True
|
||||||
|
|
||||||
self.recipes.setModel(self.recipe_model)
|
self.recipes.setModel(self.recipe_model)
|
||||||
self.detail_box.setVisible(False)
|
self.detail_box.setVisible(False)
|
||||||
@ -55,6 +56,10 @@ class SchedulerDialog(QDialog, Ui_Dialog):
|
|||||||
self.old_news.setValue(gconf['oldest_news'])
|
self.old_news.setValue(gconf['oldest_news'])
|
||||||
|
|
||||||
def break_cycles(self):
|
def break_cycles(self):
|
||||||
|
self.disconnect(self.recipe_model, SIGNAL('searched(PyQt_PyObject)'),
|
||||||
|
self.search_done)
|
||||||
|
self.disconnect(self.recipe_model, SIGNAL('searched(PyQt_PyObject)'),
|
||||||
|
self.search.search_done)
|
||||||
self.recipe_model = None
|
self.recipe_model = None
|
||||||
|
|
||||||
def search_done(self, *args):
|
def search_done(self, *args):
|
||||||
@ -68,25 +73,32 @@ class SchedulerDialog(QDialog, Ui_Dialog):
|
|||||||
self.last_downloaded.setVisible(enabled)
|
self.last_downloaded.setVisible(enabled)
|
||||||
|
|
||||||
def current_changed(self, current, previous):
|
def current_changed(self, current, previous):
|
||||||
if previous.isValid():
|
if self.commit_on_change:
|
||||||
self.commit(urn=getattr(previous.internalPointer(), 'urn', None))
|
if previous.isValid():
|
||||||
|
if not self.commit(urn=getattr(previous.internalPointer(),
|
||||||
|
'urn', None)):
|
||||||
|
self.commit_on_change = False
|
||||||
|
self.recipes.setCurrentIndex(previous)
|
||||||
|
else:
|
||||||
|
self.commit_on_change = True
|
||||||
|
|
||||||
urn = self.current_urn
|
urn = self.current_urn
|
||||||
if urn is not None:
|
if urn is not None:
|
||||||
self.initialize_detail_box(urn)
|
self.initialize_detail_box(urn)
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
self.commit()
|
if not self.commit():
|
||||||
|
return False
|
||||||
return QDialog.accept(self)
|
return QDialog.accept(self)
|
||||||
|
|
||||||
def download_clicked(self):
|
def download_clicked(self):
|
||||||
self.commit()
|
self.commit()
|
||||||
if self.current_urn:
|
if self.commit() and self.current_urn:
|
||||||
self.emit(SIGNAL('download(PyQt_PyObject)'), self.current_urn)
|
self.emit(SIGNAL('download(PyQt_PyObject)'), self.current_urn)
|
||||||
|
|
||||||
def download_all_clicked(self):
|
def download_all_clicked(self):
|
||||||
self.commit()
|
if self.commit() and self.commit():
|
||||||
self.emit(SIGNAL('download(PyQt_PyObject)'), None)
|
self.emit(SIGNAL('download(PyQt_PyObject)'), None)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def current_urn(self):
|
def current_urn(self):
|
||||||
@ -97,10 +109,15 @@ class SchedulerDialog(QDialog, Ui_Dialog):
|
|||||||
def commit(self, urn=None):
|
def commit(self, urn=None):
|
||||||
urn = self.current_urn if urn is None else urn
|
urn = self.current_urn if urn is None else urn
|
||||||
if not self.detail_box.isVisible() or urn is None:
|
if not self.detail_box.isVisible() or urn is None:
|
||||||
return
|
return True
|
||||||
|
|
||||||
if self.account.isVisible():
|
if self.account.isVisible():
|
||||||
un, pw = map(unicode, (self.username.text(), self.password.text()))
|
un, pw = map(unicode, (self.username.text(), self.password.text()))
|
||||||
|
if not un and not pw and self.schedule.isChecked():
|
||||||
|
error_dialog(self, _('Need username and password'),
|
||||||
|
_('You must provide a username and/or password to '
|
||||||
|
'use this news source.'), show=True)
|
||||||
|
return False
|
||||||
self.recipe_model.set_account_info(urn, un.strip(), pw.strip())
|
self.recipe_model.set_account_info(urn, un.strip(), pw.strip())
|
||||||
|
|
||||||
if self.schedule.isChecked():
|
if self.schedule.isChecked():
|
||||||
@ -122,6 +139,7 @@ class SchedulerDialog(QDialog, Ui_Dialog):
|
|||||||
custom_tags = unicode(self.custom_tags.text()).strip()
|
custom_tags = unicode(self.custom_tags.text()).strip()
|
||||||
custom_tags = [x.strip() for x in custom_tags.split(',')]
|
custom_tags = [x.strip() for x in custom_tags.split(',')]
|
||||||
self.recipe_model.customize_recipe(urn, add_title_tag, custom_tags)
|
self.recipe_model.customize_recipe(urn, add_title_tag, custom_tags)
|
||||||
|
return True
|
||||||
|
|
||||||
def initialize_detail_box(self, urn):
|
def initialize_detail_box(self, urn):
|
||||||
self.detail_box.setVisible(True)
|
self.detail_box.setVisible(True)
|
||||||
|
@ -1621,12 +1621,13 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
|
|||||||
try:
|
try:
|
||||||
os.makedirs(self.library_path)
|
os.makedirs(self.library_path)
|
||||||
except:
|
except:
|
||||||
self.library_path = os.path.expanduser('~/Library')
|
self.library_path = os.path.expanduser('~/CalibreLibrary')
|
||||||
error_dialog(self, _('Invalid library location'),
|
error_dialog(self, _('Invalid library location'),
|
||||||
_('Could not access %s. Using %s as the library.')%
|
_('Could not access %s. Using %s as the library.')%
|
||||||
(repr(self.library_path), repr(self.library_path))
|
(repr(self.library_path), repr(self.library_path))
|
||||||
).exec_()
|
).exec_()
|
||||||
os.makedirs(self.library_path)
|
if not os.path.exists(self.library_path):
|
||||||
|
os.makedirs(self.library_path)
|
||||||
|
|
||||||
|
|
||||||
def read_settings(self):
|
def read_settings(self):
|
||||||
|
@ -140,8 +140,8 @@ class PostInstall:
|
|||||||
for f in os.listdir('.'):
|
for f in os.listdir('.'):
|
||||||
if os.stat(f).st_uid == 0:
|
if os.stat(f).st_uid == 0:
|
||||||
os.rmdir(f) if os.path.isdir(f) else os.unlink(f)
|
os.rmdir(f) if os.path.isdir(f) else os.unlink(f)
|
||||||
if os.stat(config_dir).st_uid == 0:
|
if os.stat(config_dir).st_uid == 0:
|
||||||
os.rmdir(config_dir)
|
os.rmdir(config_dir)
|
||||||
|
|
||||||
if warn is None and self.warnings:
|
if warn is None and self.warnings:
|
||||||
self.info('There were %d warnings'%len(self.warnings))
|
self.info('There were %d warnings'%len(self.warnings))
|
||||||
|
@ -21,7 +21,7 @@ What formats does |app| support conversion to/from?
|
|||||||
It can convert every input format in the following list, to every output format.
|
It can convert every input format in the following list, to every output format.
|
||||||
|
|
||||||
*Input Formats:* CBZ, CBR, CBC, EPUB, FB2, HTML, LIT, LRF, MOBI, ODT, PDF, PRC**, PDB, PML, RB, RTF, TCR, TXT
|
*Input Formats:* CBZ, CBR, CBC, EPUB, FB2, HTML, LIT, LRF, MOBI, ODT, PDF, PRC**, PDB, PML, RB, RTF, TCR, TXT
|
||||||
*Output Formats:* EPUB, FB2, OEB, LIT, LRF, MOBI, PDB, PML, RB, PDF, TXT
|
*Output Formats:* EPUB, FB2, OEB, LIT, LRF, MOBI, PDB, PML, RB, PDF, TCR, TXT
|
||||||
|
|
||||||
** PRC is a generic format, |app| supports PRC files with TextRead and MOBIBook headers
|
** PRC is a generic format, |app| supports PRC files with TextRead and MOBIBook headers
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -5,8 +5,8 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: calibre 0.6.18\n"
|
"Project-Id-Version: calibre 0.6.18\n"
|
||||||
"POT-Creation-Date: 2009-10-17 10:21+MDT\n"
|
"POT-Creation-Date: 2009-10-19 18:10+MDT\n"
|
||||||
"PO-Revision-Date: 2009-10-17 10:21+MDT\n"
|
"PO-Revision-Date: 2009-10-19 18:10+MDT\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: LANGUAGE\n"
|
"Language-Team: LANGUAGE\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -60,8 +60,8 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
|
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:79
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
|
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:121
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:154
|
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:154
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:588
|
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:775
|
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
|
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
|
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:886
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:886
|
||||||
@ -110,7 +110,7 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:106
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:106
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:139
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:139
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:431
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:431
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:152
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:156
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:391
|
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:391
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:404
|
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:404
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
|
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
|
||||||
@ -521,7 +521,7 @@ msgid "There is insufficient free space on the storage card"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:713
|
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:713
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:214
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:218
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:122
|
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:122
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1006
|
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1006
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1010
|
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1010
|
||||||
@ -1601,13 +1601,13 @@ msgid "Sidebar"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22
|
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:22
|
#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:22
|
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:22
|
||||||
msgid "Normally calibre treats blank lines as paragraph markers. With this option it will assume that every line represents a paragraph instead."
|
msgid "Normally calibre treats blank lines as paragraph markers. With this option it will assume that every line represents a paragraph instead."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26
|
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:26
|
#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:26
|
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:26
|
||||||
msgid "Normally calibre treats blank lines as paragraph markers. With this option it will assume that every line starting with an indent (either a tab or 2+ spaces) represents a paragraph. Paragraphs end when the next line that starts with an indent is reached."
|
msgid "Normally calibre treats blank lines as paragraph markers. With this option it will assume that every line starting with an indent (either a tab or 2+ spaces) represents a paragraph. Paragraphs end when the next line that starts with an indent is reached."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1826,6 +1826,14 @@ msgstr ""
|
|||||||
msgid "This RTF file has a feature calibre does not support. Convert it to HTML first and then try it."
|
msgid "This RTF file has a feature calibre does not support. Convert it to HTML first and then try it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23
|
||||||
|
msgid "Specify the character encoding of the output document. The default is utf-8."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:27
|
||||||
|
msgid "Speciy the compression level to use. Scale 1 - 10. 1 being the lowest compression but the fastest and 10 being the highest compression but the slowest."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:32
|
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:32
|
||||||
msgid "Run the text input through the markdown pre-processor. To learn more about markdown see"
|
msgid "Run the text input through the markdown pre-processor. To learn more about markdown see"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2176,12 +2184,12 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:44
|
#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:44
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:61
|
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:61
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:62
|
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:62
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:471
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:474
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:483
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:486
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:484
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:487
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:500
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:503
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:501
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:504
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:533
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375
|
||||||
@ -3206,126 +3214,126 @@ msgstr ""
|
|||||||
msgid "new email address"
|
msgid "new email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:461
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:791
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:140
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:140
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1045
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1045
|
||||||
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
|
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:462
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
|
||||||
msgid "Failed to install command line tools."
|
msgid "Failed to install command line tools."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:465
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:471
|
||||||
msgid "Command line tools installed"
|
msgid "Command line tools installed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:466
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:472
|
||||||
msgid "Command line tools installed in"
|
msgid "Command line tools installed in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:473
|
||||||
msgid "If you move calibre.app, you have to re-install the command line tools."
|
msgid "If you move calibre.app, you have to re-install the command line tools."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:518
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:524
|
||||||
msgid "No valid plugin path"
|
msgid "No valid plugin path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:519
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:525
|
||||||
msgid "%s is not a valid plugin path"
|
msgid "%s is not a valid plugin path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:522
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:528
|
||||||
msgid "Choose plugin"
|
msgid "Choose plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:534
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:540
|
||||||
msgid "Plugin cannot be disabled"
|
msgid "Plugin cannot be disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:535
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541
|
||||||
msgid "The plugin: %s cannot be disabled"
|
msgid "The plugin: %s cannot be disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:544
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:550
|
||||||
msgid "Plugin not customizable"
|
msgid "Plugin not customizable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:545
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:551
|
||||||
msgid "Plugin: %s does not need customization"
|
msgid "Plugin: %s does not need customization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:569
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:575
|
||||||
msgid "Customize %s"
|
msgid "Customize %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:579
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:585
|
||||||
msgid "Cannot remove builtin plugin"
|
msgid "Cannot remove builtin plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:580
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:586
|
||||||
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
|
msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:613
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:619
|
||||||
msgid "Error log:"
|
msgid "Error log:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:620
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:626
|
||||||
msgid "Access log:"
|
msgid "Access log:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:648
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:654
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589
|
||||||
msgid "Failed to start content server"
|
msgid "Failed to start content server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:672
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503
|
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503
|
||||||
msgid "Select location for books"
|
msgid "Select location for books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:680
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:686
|
||||||
msgid "Invalid size"
|
msgid "Invalid size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:681
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:687
|
||||||
msgid "The size %s is invalid. must be of the form widthxheight"
|
msgid "The size %s is invalid. must be of the form widthxheight"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:732
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:738
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:737
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:743
|
||||||
msgid "Invalid database location"
|
msgid "Invalid database location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:733
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:739
|
||||||
msgid "Invalid database location "
|
msgid "Invalid database location "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:734
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:740
|
||||||
msgid "<br>Must be a directory."
|
msgid "<br>Must be a directory."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:738
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:744
|
||||||
msgid "Invalid database location.<br>Cannot write to "
|
msgid "Invalid database location.<br>Cannot write to "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:772
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:778
|
||||||
msgid "Checking database integrity"
|
msgid "Checking database integrity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:792
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:798
|
||||||
msgid "Failed to check database integrity"
|
msgid "Failed to check database integrity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:803
|
||||||
msgid "Some inconsistencies found"
|
msgid "Some inconsistencies found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:798
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:804
|
||||||
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."
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
@ -3409,256 +3417,260 @@ msgstr ""
|
|||||||
msgid "&Saving books"
|
msgid "&Saving books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:468
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:471
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:368
|
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:368
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:173
|
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:173
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:469
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:472
|
||||||
msgid "&Location of ebooks (The ebooks are stored in folders sorted by author and metadata is stored in the file metadata.db)"
|
msgid "&Location of ebooks (The ebooks are stored in folders sorted by author and metadata is stored in the file metadata.db)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:470
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:473
|
||||||
msgid "Browse for the new database location"
|
msgid "Browse for the new database location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:472
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:475
|
||||||
msgid "Show notification when &new version is available"
|
msgid "Show notification when &new version is available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:473
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:476
|
||||||
msgid "Default network &timeout:"
|
msgid "Default network &timeout:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:474
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:477
|
||||||
msgid "Set the default timeout for network fetches (i.e. anytime we go out to the internet to get information)"
|
msgid "Set the default timeout for network fetches (i.e. anytime we go out to the internet to get information)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:475
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:478
|
||||||
msgid " seconds"
|
msgid " seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:476
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:479
|
||||||
msgid "Choose &language (requires restart):"
|
msgid "Choose &language (requires restart):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:477
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:480
|
||||||
msgid "Normal"
|
msgid "Normal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:478
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:481
|
||||||
msgid "High"
|
msgid "High"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:479
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:482
|
||||||
msgid "Low"
|
msgid "Low"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:480
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:483
|
||||||
msgid "Job &priority:"
|
msgid "Job &priority:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:481
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:484
|
||||||
msgid "Preferred &output format:"
|
msgid "Preferred &output format:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:482
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:485
|
||||||
msgid "Preferred &input format order:"
|
msgid "Preferred &input format order:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:485
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:488
|
||||||
msgid "Use &Roman numerals for series number"
|
msgid "Use &Roman numerals for series number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:486
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:489
|
||||||
msgid "Enable system &tray icon (needs restart)"
|
msgid "Enable system &tray icon (needs restart)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:487
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:490
|
||||||
msgid "Show ¬ifications in system tray"
|
msgid "Show ¬ifications in system tray"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:488
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:491
|
||||||
msgid "Show cover &browser in a separate window (needs restart)"
|
msgid "Show cover &browser in a separate window (needs restart)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:489
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:492
|
||||||
msgid "Search as you type"
|
msgid "Search as you type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:490
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:493
|
||||||
msgid "Automatically send downloaded &news to ebook reader"
|
msgid "Automatically send downloaded &news to ebook reader"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:491
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:494
|
||||||
msgid "&Delete news from library when it is automatically sent to reader"
|
msgid "&Delete news from library when it is automatically sent to reader"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:492
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:495
|
||||||
msgid "&Number of covers to show in browse mode (needs restart):"
|
msgid "&Number of covers to show in browse mode (needs restart):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:493
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:496
|
||||||
msgid "Toolbar"
|
msgid "Toolbar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:494
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:497
|
||||||
msgid "Large"
|
msgid "Large"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:495
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:498
|
||||||
msgid "Medium"
|
msgid "Medium"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:496
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:499
|
||||||
msgid "Small"
|
msgid "Small"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:497
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:500
|
||||||
msgid "&Button size in toolbar"
|
msgid "&Button size in toolbar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:498
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:501
|
||||||
msgid "Show &text in toolbar buttons"
|
msgid "Show &text in toolbar buttons"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:499
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:502
|
||||||
msgid "Select visible &columns in library view"
|
msgid "Select visible &columns in library view"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:502
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:505
|
||||||
msgid "Use internal &viewer for:"
|
msgid "Use internal &viewer for:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:503
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:506
|
||||||
msgid "Add an email address to which to send books"
|
msgid "Add an email address to which to send books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:504
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:507
|
||||||
msgid "&Add email"
|
msgid "&Add email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:505
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:508
|
||||||
msgid "Make &default"
|
msgid "Make &default"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:506
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:509
|
||||||
msgid "&Remove email"
|
msgid "&Remove email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:507
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:510
|
||||||
msgid "calibre can send your books to you (or your reader) by email"
|
msgid "calibre can send your books to you (or your reader) by email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:508
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:511
|
||||||
msgid "&Maximum number of waiting worker processes (needs restart):"
|
msgid "&Maximum number of waiting worker processes (needs restart):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:509
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:512
|
||||||
msgid "&Check database integrity"
|
msgid "&Check database integrity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:510
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:513
|
||||||
msgid "&Install command line tools"
|
msgid "&Install command line tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:511
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:514
|
||||||
|
msgid "Open calibre &configuration directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:515
|
||||||
msgid "calibre contains a network server that allows you to access your book collection using a browser from anywhere in the world. Any changes to the settings will only take effect after a server restart."
|
msgid "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 ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:512
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:516
|
||||||
msgid "Server &port:"
|
msgid "Server &port:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:513
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:517
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117
|
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117
|
||||||
msgid "&Username:"
|
msgid "&Username:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:514
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:518
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119
|
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119
|
||||||
msgid "&Password:"
|
msgid "&Password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:515
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:519
|
||||||
msgid "If you leave the password blank, anyone will be able to access your book collection using the web interface."
|
msgid "If you leave the password blank, anyone will be able to access your book collection using the web interface."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:516
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:520
|
||||||
msgid "The maximum size (widthxheight) for displayed covers. Larger covers are resized. "
|
msgid "The maximum size (widthxheight) for displayed covers. Larger covers are resized. "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:517
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:521
|
||||||
msgid "Max. &cover size:"
|
msgid "Max. &cover size:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:518
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:522
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:60
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212
|
||||||
msgid "&Show password"
|
msgid "&Show password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:519
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:523
|
||||||
msgid "Max. &OPDS items per query:"
|
msgid "Max. &OPDS items per query:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:520
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:524
|
||||||
msgid "&Start Server"
|
msgid "&Start Server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:521
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:525
|
||||||
msgid "St&op Server"
|
msgid "St&op Server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:522
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:526
|
||||||
msgid "&Test Server"
|
msgid "&Test Server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:523
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:527
|
||||||
msgid "Run server &automatically on startup"
|
msgid "Run server &automatically on startup"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:524
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:528
|
||||||
msgid "View &server logs"
|
msgid "View &server logs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:525
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:529
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46
|
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46
|
||||||
msgid ""
|
msgid ""
|
||||||
"<p>Remember to leave calibre running as the server only runs as long as calibre is running.\n"
|
"<p>Remember to leave calibre running as the server only runs as long as calibre is running.\n"
|
||||||
"<p>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."
|
"<p>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 ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:527
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:531
|
||||||
msgid "Here you can customize the behavior of Calibre by controlling what plugins it uses."
|
msgid "Here you can customize the behavior of Calibre by controlling what plugins it uses."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:528
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:532
|
||||||
msgid "Enable/&Disable plugin"
|
msgid "Enable/&Disable plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:529
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:533
|
||||||
msgid "&Customize plugin"
|
msgid "&Customize plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:530
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:534
|
||||||
msgid "&Remove plugin"
|
msgid "&Remove plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:531
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:535
|
||||||
msgid "Add new plugin"
|
msgid "Add new plugin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:532
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536
|
||||||
msgid "Plugin &file:"
|
msgid "Plugin &file:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:534
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538
|
||||||
msgid "&Add"
|
msgid "&Add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -3990,28 +4002,28 @@ msgstr ""
|
|||||||
msgid "Aborting..."
|
msgid "Aborting..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:151
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:155
|
||||||
msgid "Created by: "
|
msgid "Created by: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:158
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:162
|
||||||
msgid "Last downloaded: never"
|
msgid "Last downloaded: never"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:177
|
||||||
msgid "%d days, %d hours and %d minutes ago"
|
msgid "%d days, %d hours and %d minutes ago"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:175
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:179
|
||||||
msgid "Last downloaded"
|
msgid "Last downloaded"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:195
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:199
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:190
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:190
|
||||||
msgid "Schedule news download"
|
msgid "Schedule news download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:198
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:202
|
||||||
msgid "Add a custom news source"
|
msgid "Add a custom news source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -4993,87 +5005,87 @@ msgstr ""
|
|||||||
msgid "Could not access %s. Using %s as the library."
|
msgid "Could not access %s. Using %s as the library."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1673
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1674
|
||||||
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."
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1697
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1698
|
||||||
msgid "There are active jobs. Are you sure you want to quit?"
|
msgid "There are active jobs. Are you sure you want to quit?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1700
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1701
|
||||||
msgid ""
|
msgid ""
|
||||||
" is communicating with the device!<br>\n"
|
" is communicating with the device!<br>\n"
|
||||||
" Quitting may cause corruption on the device.<br>\n"
|
" Quitting may cause corruption on the device.<br>\n"
|
||||||
" Are you sure you want to quit?"
|
" Are you sure you want to quit?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1704
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1705
|
||||||
msgid "WARNING: Active jobs"
|
msgid "WARNING: Active jobs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1755
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1756
|
||||||
msgid "will keep running in the system tray. To close it, choose <b>Quit</b> in the context menu of the system tray."
|
msgid "will keep running in the system tray. To close it, choose <b>Quit</b> in the context menu of the system tray."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1774
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1775
|
||||||
msgid "<span style=\"color:red; font-weight:bold\">Latest version: <a href=\"%s\">%s</a></span>"
|
msgid "<span style=\"color:red; font-weight:bold\">Latest version: <a href=\"%s\">%s</a></span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1782
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
|
||||||
msgid "Update available"
|
msgid "Update available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1784
|
||||||
msgid "%s has been updated to version %s. See the <a href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. Visit the download page?"
|
msgid "%s has been updated to version %s. See the <a href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. Visit the download page?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1801
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1802
|
||||||
msgid "Use the library located at the specified path."
|
msgid "Use the library located at the specified path."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1803
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1804
|
||||||
msgid "Start minimized to system tray."
|
msgid "Start minimized to system tray."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1805
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1806
|
||||||
msgid "Log debugging information to console"
|
msgid "Log debugging information to console"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1807
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1808
|
||||||
msgid "Do not check for updates"
|
msgid "Do not check for updates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1855
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1856
|
||||||
msgid "If you are sure it is not running"
|
msgid "If you are sure it is not running"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1857
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1858
|
||||||
msgid "Cannot Start "
|
msgid "Cannot Start "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1858
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1859
|
||||||
msgid "%s is already running."
|
msgid "%s is already running."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1861
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1862
|
||||||
msgid "may be running in the system tray, in the"
|
msgid "may be running in the system tray, in the"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1863
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1864
|
||||||
msgid "upper right region of the screen."
|
msgid "upper right region of the screen."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1865
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1866
|
||||||
msgid "lower right region of the screen."
|
msgid "lower right region of the screen."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1868
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1869
|
||||||
msgid "try rebooting your computer."
|
msgid "try rebooting your computer."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1870
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1871
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1882
|
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1883
|
||||||
msgid "try deleting the file"
|
msgid "try deleting the file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -6421,71 +6433,75 @@ msgstr ""
|
|||||||
msgid "Unknown News Source"
|
msgid "Unknown News Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:588
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:507
|
||||||
msgid "Download finished"
|
msgid "The \"%s\" recipe needs a username and password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:590
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:590
|
||||||
|
msgid "Download finished"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:592
|
||||||
msgid "Failed to download the following articles:"
|
msgid "Failed to download the following articles:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:596
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:598
|
||||||
msgid "Failed to download parts of the following articles:"
|
msgid "Failed to download parts of the following articles:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:598
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:600
|
||||||
msgid " from "
|
msgid " from "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:600
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:602
|
||||||
msgid "\tFailed links:"
|
msgid "\tFailed links:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:681
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:683
|
||||||
msgid "Could not fetch article. Run with -vv to see the reason"
|
msgid "Could not fetch article. Run with -vv to see the reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:702
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:704
|
||||||
msgid "Fetching feeds..."
|
msgid "Fetching feeds..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:706
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:708
|
||||||
msgid "Got feeds from index page"
|
msgid "Got feeds from index page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:712
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:714
|
||||||
msgid "Trying to download cover..."
|
msgid "Trying to download cover..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:766
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:768
|
||||||
msgid "Starting download [%d thread(s)]..."
|
msgid "Starting download [%d thread(s)]..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:782
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:784
|
||||||
msgid "Feeds downloaded to %s"
|
msgid "Feeds downloaded to %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:792
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:794
|
||||||
msgid "Could not download cover: %s"
|
msgid "Could not download cover: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:799
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:801
|
||||||
msgid "Downloading cover from %s"
|
msgid "Downloading cover from %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:925
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:927
|
||||||
msgid "Untitled Article"
|
msgid "Untitled Article"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:996
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:998
|
||||||
msgid "Article downloaded: %s"
|
msgid "Article downloaded: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1007
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1009
|
||||||
msgid "Article download failed: %s"
|
msgid "Article download failed: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1024
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1026
|
||||||
msgid "Fetching feed"
|
msgid "Fetching feed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -6495,12 +6511,12 @@ msgstr ""
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:73
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:73
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:82
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:82
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:170
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:172
|
||||||
msgid "Scheduled"
|
msgid "Scheduled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:84
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:84
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:171
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:173
|
||||||
msgid "Custom"
|
msgid "Custom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -164,6 +164,8 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser):
|
|||||||
return cls(*args)
|
return cls(*args)
|
||||||
|
|
||||||
def ok(urn):
|
def ok(urn):
|
||||||
|
if restrict_to_urns is None:
|
||||||
|
return False
|
||||||
return not restrict_to_urns or urn in restrict_to_urns
|
return not restrict_to_urns or urn in restrict_to_urns
|
||||||
|
|
||||||
new_root = factory(NewsTreeItem, None)
|
new_root = factory(NewsTreeItem, None)
|
||||||
@ -230,6 +232,8 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser):
|
|||||||
def search(self, query, refinement):
|
def search(self, query, refinement):
|
||||||
try:
|
try:
|
||||||
results = self.parse(unicode(query))
|
results = self.parse(unicode(query))
|
||||||
|
if not results:
|
||||||
|
results = None
|
||||||
except ParseException:
|
except ParseException:
|
||||||
results = []
|
results = []
|
||||||
self.do_refresh(restrict_to_urns=results)
|
self.do_refresh(restrict_to_urns=results)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user