Sync to trunk.

This commit is contained in:
John Schember 2009-12-14 18:11:29 -05:00
commit 5f883cc03a
47 changed files with 7535 additions and 5672 deletions

View File

@ -4,6 +4,66 @@
# for important features/bug fixes. # for important features/bug fixes.
# Also, each release can have new and improved recipes. # Also, each release can have new and improved recipes.
- version: 0.6.28
date: 2009-12-14
new features:
- title: "Download latest version of recipes from the calibre server automatically."
description: >
Now calibre will automatically check for updated versions of the recipes used to
download the built in news sources. As a result, there is no need to upgrade calibre
just for recipe fixes. Note that you still have to upgrade to get access to new
news sources.
type: major
- title: "Add a setting to control whether calibre will limit the max number of simultaneous jobs to the CPU count or not"
tickets: [4213]
- title: "Device drivers: Allow looking for books in multiple root directories on the device. Currently only the Android driver uses this."
- title: "Support for the Nokia N770 and the Ganaxa Ger 2"
- title: "FB2 Output: Various improvements"
- title: "Linux device detection: Drop dependency on libusb in favor of using SYSFS directly"
bug fixes:
- title: "Conversion pipeline: Decoding of XML files made more fault tolerant"
- title: "ebook-viewer: Ignore missing items in the spine, instead of erroring out"
- title: "Fixed Time magazine recipe to handle end-of-year special issue"
- title: "More fixes in the Android driver"
- title: "Failed recipe downloads should also update the last downloaded time to prevent excessive re-downloading"
- title: "MOBI Output: Handle invalid width and height settings in <img> tags"
- title: "MOBI Input: Add suport for files that use the 'record separator' ASCII character code"
new recipes:
- title: Golem
author: Kovid Goyal
- title: Netzpolitik
author: Kovid Goyal
- title: Nu.nl
author: Rob Hankel
improved recipes:
- "HRT: Vesti"
- Guardian
- Clarin
- Pagina 12
- Joel on Software
- version: 0.6.27 - version: 0.6.27
date: 2009-12-11 date: 2009-12-11
@ -16,14 +76,6 @@
type: major type: major
tickets: [4145] tickets: [4145]
- title: "Download latest version of recipes from the calibre server automatically."
description: >
Now calibre will automatically check for updated versions of the recipes used to
download the built in news sources. As a result, there is no need to upgrade calibre
just for recipe fixes. Note that you still have to upgrade to get access to new
news sources.
type: major
- title: "Speed up download of news" - title: "Speed up download of news"
description: > description: >
"Speed up download of news by allowing the download to happen in multiple threads "Speed up download of news by allowing the download to happen in multiple threads

View File

@ -1,4 +1,3 @@
#!/usr/bin/env python
__license__ = 'GPL v3' __license__ = 'GPL v3'
__copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>' __copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>'
@ -8,7 +7,6 @@ clarin.com
from calibre import strftime from calibre import strftime
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
from calibre.ebooks.BeautifulSoup import Tag
class Clarin(BasicNewsRecipe): class Clarin(BasicNewsRecipe):
title = 'Clarin' title = 'Clarin'
@ -21,21 +19,16 @@ class Clarin(BasicNewsRecipe):
use_embedded_content = False use_embedded_content = False
no_stylesheets = True no_stylesheets = True
cover_url = strftime('http://www.clarin.com/diario/%Y/%m/%d/portada.jpg') cover_url = strftime('http://www.clarin.com/diario/%Y/%m/%d/portada.jpg')
remove_javascript = True
encoding = 'cp1252' encoding = 'cp1252'
language = 'es' language = 'es'
lang = 'es-AR'
direction = 'ltr'
extra_css = ' .Txt{ font-family: sans-serif } .Volan{ font-family: sans-serif; font-size: x-small} .Pie{ font-family: sans-serif; font-size: x-small} .Copete{font-family: sans-serif; font-size: large} .Hora{font-family: sans-serif; font-size: large} .Autor{font-family: sans-serif; font-size: small} ' extra_css = ' .Txt{ font-family: sans-serif } .Volan{ font-family: sans-serif; font-size: x-small} .Pie{ font-family: sans-serif; font-size: x-small} .Copete{font-family: sans-serif; font-size: large} .Hora{font-family: sans-serif; font-size: large} .Autor{font-family: sans-serif; font-size: small} '
html2lrf_options = [ conversion_options = {
'--comment', description 'comment' : description
, '--category', category , 'tags' : category
, '--publisher', publisher , 'publisher': publisher
] , 'language' : language
}
html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\npretty_print=True\noverride_css=" p {text-indent: 0cm; margin-top: 0em; margin-bottom: 0.5em} "'
remove_tags = [ remove_tags = [
dict(name='a' , attrs={'class':'Imp' }) dict(name='a' , attrs={'class':'Imp' })
@ -60,14 +53,4 @@ class Clarin(BasicNewsRecipe):
lurl = u'http://www.servicios.clarin.com/notas/jsp/clarin/v9/notas/imprimir.jsp?pagid=' + lmain lurl = u'http://www.servicios.clarin.com/notas/jsp/clarin/v9/notas/imprimir.jsp?pagid=' + lmain
return lurl return lurl
def preprocess_html(self, soup):
soup.html['lang'] = self.lang
soup.html['dir' ] = self.direction
mlang = Tag(soup,'meta',[("http-equiv","Content-Language"),("content",self.lang)])
mcharset = Tag(soup,'meta',[("http-equiv","Content-Type"),("content","text/html; charset=utf-8")])
soup.head.insert(0,mlang)
soup.head.insert(1,mcharset)
for item in soup.findAll(style=True):
del item['style']
return soup

View File

@ -15,8 +15,8 @@ class Guardian(BasicNewsRecipe):
__author__ = 'Seabound and Sujata Raman' __author__ = 'Seabound and Sujata Raman'
language = 'en_GB' language = 'en_GB'
#oldest_article = 7 oldest_article = 7
#max_articles_per_feed = 100 max_articles_per_feed = 100
remove_javascript = True remove_javascript = True
timefmt = ' [%a, %d %b %Y]' timefmt = ' [%a, %d %b %Y]'
@ -43,6 +43,38 @@ class Guardian(BasicNewsRecipe):
#match-stats-summary{font-size:small; font-family:Arial,Helvetica,sans-serif;font-weight:normal;} #match-stats-summary{font-size:small; font-family:Arial,Helvetica,sans-serif;font-weight:normal;}
''' '''
feeds = [
('Front Page', 'http://www.guardian.co.uk/rss'),
('Business', 'http://www.guardian.co.uk/business/rss'),
('Sport', 'http://www.guardian.co.uk/sport/rss'),
('Culture', 'http://www.guardian.co.uk/culture/rss'),
('Money', 'http://www.guardian.co.uk/money/rss'),
('Life & Style', 'http://www.guardian.co.uk/lifeandstyle/rss'),
('Travel', 'http://www.guardian.co.uk/travel/rss'),
('Environment', 'http://www.guardian.co.uk/environment/rss'),
('Comment','http://www.guardian.co.uk/commentisfree/rss'),
]
def get_article_url(self, article):
url = article.get('guid', None)
if '/video/' in url or '/flyer/' in url or '/quiz/' in url or \
'/gallery/' in url or 'ivebeenthere' in url or \
'pickthescore' in url or 'audioslideshow' in url :
url = None
return url
def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
for item in soup.findAll(face=True):
del item['face']
for tag in soup.findAll(name=['ul','li']):
tag.name = 'div'
return soup
def find_sections(self): def find_sections(self):
soup = self.index_to_soup('http://www.guardian.co.uk/theguardian') soup = self.index_to_soup('http://www.guardian.co.uk/theguardian')
# find cover pic # find cover pic
@ -78,24 +110,13 @@ class Guardian(BasicNewsRecipe):
} }
def parse_index(self): def parse_index(self):
feeds = [] try:
for title, href in self.find_sections(): feeds = []
feeds.append((title, list(self.find_articles(href)))) for title, href in self.find_sections():
return feeds feeds.append((title, list(self.find_articles(href))))
return feeds
def preprocess_html(self, soup): except:
raise NotImplementedError
for item in soup.findAll(style=True):
del item['style']
for item in soup.findAll(face=True):
del item['face']
for tag in soup.findAll(name=['ul','li']):
tag.name = 'div'
return soup

View File

@ -23,7 +23,14 @@ class HRT(BasicNewsRecipe):
language = 'hr' language = 'hr'
lang = 'hr-HR' lang = 'hr-HR'
extra_css = '@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} body{font-family: serif1, serif} .article_description{font-family: serif1, serif}' extra_css = '''@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
body{font-family: serif1, serif} .article_description{font-family: serif1, serif}
.news-single-timedata{color:#20558A; font-size:x-small;}
.nsTitle{color:#20558A; font-size:large; font-weight:bold;}
a{color:#20558A;}
.external-link-new-window{color:#20558A;}
'''
conversion_options = { conversion_options = {
'comment' : description 'comment' : description
@ -36,6 +43,7 @@ class HRT(BasicNewsRecipe):
preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]
keep_only_tags = [dict(name='div', attrs={'class':'bigVijest'})] keep_only_tags = [dict(name='div', attrs={'class':'bigVijest'})]
remove_tags = [dict(name=['object','link','embed'])] remove_tags = [dict(name=['object','link','embed'])]

View File

@ -1,4 +1,3 @@
#!/usr/bin/env python
__license__ = 'GPL v3' __license__ = 'GPL v3'
__copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>' __copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>'
@ -6,7 +5,6 @@ __copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>'
pagina12.com.ar pagina12.com.ar
''' '''
from calibre import strftime
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
class Pagina12(BasicNewsRecipe): class Pagina12(BasicNewsRecipe):
@ -19,36 +17,33 @@ class Pagina12(BasicNewsRecipe):
max_articles_per_feed = 100 max_articles_per_feed = 100
no_stylesheets = True no_stylesheets = True
encoding = 'cp1252' encoding = 'cp1252'
cover_url = strftime('http://www.pagina12.com.ar/fotos/%Y%m%d/diario/tapagn.jpg')
remove_javascript = True
use_embedded_content = False use_embedded_content = False
language = 'es' language = 'es'
conversion_options = {
'comment' : description
, 'tags' : category
, 'publisher' : publisher
, 'language' : language
}
remove_tags = [dict(name='div', attrs={'id':['volver','logo','logo_suple','fin','permalink']})]
feeds = [
html2lrf_options = [ (u'Edicion impresa', u'http://www.pagina12.com.ar/diario/rss/principal.xml' )
'--comment', description ,(u'Espectaculos' , u'http://www.pagina12.com.ar/diario/rss/espectaculos.xml')
, '--category', category ,(u'Radar' , u'http://www.pagina12.com.ar/diario/rss/radar.xml' )
, '--publisher', publisher ,(u'Radar libros' , u'http://www.pagina12.com.ar/diario/rss/libros.xml' )
] ,(u'Cash' , u'http://www.pagina12.com.ar/diario/rss/cash.xml' )
,(u'Turismo' , u'http://www.pagina12.com.ar/diario/rss/turismo.xml' )
html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' ,(u'Libero' , u'http://www.pagina12.com.ar/diario/rss/libero.xml' )
,(u'NO' , u'http://www.pagina12.com.ar/diario/rss/no.xml' )
,(u'Las/12' , u'http://www.pagina12.com.ar/diario/rss/las12.xml' )
remove_tags = [ ,(u'Soy' , u'http://www.pagina12.com.ar/diario/rss/soy.xml' )
dict(name='div', attrs={'id':'volver'}) ,(u'M2' , u'http://www.pagina12.com.ar/diario/rss/futuro.xml' )
,dict(name='div', attrs={'id':'logo' }) ]
]
feeds = [(u'Pagina/12', u'http://www.pagina12.com.ar/diario/rss/principal.xml')]
def print_version(self, url): def print_version(self, url):
return url.replace('http://www.pagina12.com.ar/','http://www.pagina12.com.ar/imprimir/') return url.replace('http://www.pagina12.com.ar/','http://www.pagina12.com.ar/imprimir/')
def preprocess_html(self, soup):
mtag = '<meta http-equiv="Content-Language" content="es-AR"/>'
soup.head.insert(0,mtag)
for item in soup.findAll(style=True):
del item['style']
return soup

View File

@ -18,32 +18,37 @@ class Time(BasicNewsRecipe):
language = 'en' language = 'en'
remove_javascript = True remove_javascript = True
extra_css = ''' h1 {font-family:Arial,Sans-serif;} extra_css = ''' h1 {font-family:georgia,serif;color:#000000;}
.mainHd{font-family:georgia,serif;color:#000000;}
h2 {font-family:Arial,Sans-serif;} h2 {font-family:Arial,Sans-serif;}
.name{font-family:Arial,Sans-serif; font-size:x-small; } .name{font-family:Arial,Sans-serif; font-size:x-small;font-weight:bold; }
.date{font-family:Arial,Sans-serif; font-size:x-small ;color:#999999;} .date{font-family:Arial,Sans-serif; font-size:x-small ;color:#999999;}
.byline{font-family:Arial,Sans-serif; font-size:x-small ;} .byline{font-family:Arial,Sans-serif; font-size:x-small ;}
.photoBkt{ font-size:x-small ;} .photoBkt{ font-size:x-small ;}
.vertPhoto{font-size:x-small ;} .vertPhoto{font-size:x-small ;}
.credits{font-family:Arial,Sans-serif; font-size:x-small ;color:gray;} .credits{font-family:Arial,Sans-serif; font-size:x-small ;color:gray;}
.credit{font-family:Arial,Sans-serif; font-size:x-small ;color:gray;}
.artTxt{font-family:georgia,serif;} .artTxt{font-family:georgia,serif;}
#article{font-family:georgia,serif;} #content{font-family:georgia,serif;}
.caption{font-family:georgia,serif; font-size:x-small;color:#333333;} .caption{font-family:georgia,serif; font-size:x-small;color:#333333;}
.credit{font-family:georgia,serif; font-size:x-small;color:#999999;} .credit{font-family:georgia,serif; font-size:x-small;color:#999999;}
a:link{color:#CC0000;} a:link{color:#CC0000;}
.breadcrumb{font-family:Arial,Sans-serif;font-size:x-small;}
''' '''
keep_only_tags = [ dict(name ="div",attrs = {"id" :["content"]}) ,
keep_only_tags = [ dict(name ="div",attrs = {"id" :["article",]}) ,
dict(name ="div",attrs = {"class" :["artHd","artTxt","photoBkt","vertPhoto","image","copy"]}) ,] dict(name ="div",attrs = {"class" :["artHd","artTxt","photoBkt","vertPhoto","image","copy"]}) ,]
remove_tags = [ dict(name ="div",attrs = {'class':['articlePagination','nextUp',"rtCol","pagination","enlarge",]}), remove_tags = [ dict(name ="div",attrs = {'class':['articleFooterNav','listsByTopic','articleTools2','relatedContent','sideContent','topBannerWrap','articlePagination','nextUp',"rtCol","pagination","enlarge","contentTools2",]}),
dict(name ="span",attrs = {'class':['see']}), dict(name ="span",attrs = {'class':['see']}),
dict(name ="div",attrs = {'id':['articleSideBar',"articleTools","articleFooter","cmBotLt","quigoPackage"]}), dict(name ="div",attrs = {'id':['header','articleSideBar',"articleTools","articleFooter","cmBotLt","quigoPackage"]}),
dict(name ="a",attrs = {'class':['listLink']}), dict(name ="a",attrs = {'class':['listLink']}),
dict(name ="ul",attrs = {'id':['shareSocial','tabs']}),
dict(name ="li",attrs = {'class':['back']}),
dict(name ="ul",attrs = {'class':['navCount']}),
] ]
recursions = 1 recursions = 10
match_regexps = [r'/[0-9,]+-(2|3|4|5|6|7|8|9)(,\d+){0,1}.html'] match_regexps = [r'/[0-9,]+-(2|3|4|5|6|7|8|9)(,\d+){0,1}.html',r'http://www.time.com/time/specials/packages/article/.*']
preprocess_regexps = [(re.compile( preprocess_regexps = [(re.compile(
r'<meta .+/>'), lambda m:'')] r'<meta .+/>'), lambda m:'')]
@ -101,3 +106,8 @@ class Time(BasicNewsRecipe):
else: else:
ans.append(unicode(t)) ans.append(unicode(t))
return u' '.join(ans).replace(u'\xa0', u'').strip() return u' '.join(ans).replace(u'\xa0', u'').strip()
def postprocess_html(self,soup,first):
for tag in soup.findAll(attrs ={'class':['artPag','pagination']}):
tag.extract()
return soup

View File

@ -2,7 +2,7 @@ __license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
__docformat__ = 'restructuredtext en' __docformat__ = 'restructuredtext en'
__appname__ = 'calibre' __appname__ = 'calibre'
__version__ = '0.6.27' __version__ = '0.6.28'
__author__ = "Kovid Goyal <kovid@kovidgoyal.net>" __author__ = "Kovid Goyal <kovid@kovidgoyal.net>"
import re import re

View File

@ -404,15 +404,14 @@ from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI
from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.blackberry.driver import BLACKBERRY
from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS
from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \
POCKETBOOK360, GER2 POCKETBOOK360, GER2, ITALICA
from calibre.devices.iliad.driver import ILIAD from calibre.devices.iliad.driver import ILIAD
from calibre.devices.irexdr.driver import IREXDR1000 from calibre.devices.irexdr.driver import IREXDR1000
from calibre.devices.jetbook.driver import JETBOOK from calibre.devices.jetbook.driver import JETBOOK
from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX
from calibre.devices.nook.driver import NOOK from calibre.devices.nook.driver import NOOK
from calibre.devices.prs500.driver import PRS500 from calibre.devices.prs500.driver import PRS500
from calibre.devices.prs505.driver import PRS505 from calibre.devices.prs505.driver import PRS505, PRS700
from calibre.devices.prs700.driver import PRS700
from calibre.devices.android.driver import ANDROID from calibre.devices.android.driver import ANDROID
from calibre.devices.nokia.driver import N770 from calibre.devices.nokia.driver import N770
from calibre.devices.eslick.driver import ESLICK from calibre.devices.eslick.driver import ESLICK
@ -459,7 +458,6 @@ plugins += [
BEBOOK_MINI, BEBOOK_MINI,
BLACKBERRY, BLACKBERRY,
CYBOOKG3, CYBOOKG3,
EB600,
ILIAD, ILIAD,
IREXDR1000, IREXDR1000,
JETBOOK, JETBOOK,
@ -474,12 +472,14 @@ plugins += [
N770, N770,
CYBOOK_OPUS, CYBOOK_OPUS,
COOL_ER, COOL_ER,
SHINEBOOK,
ESLICK, ESLICK,
NUUT2, NUUT2,
IRIVER_STORY, IRIVER_STORY,
POCKETBOOK360, POCKETBOOK360,
GER2, GER2,
ITALICA,
SHINEBOOK,
EB600,
] ]
plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ plugins += [x for x in list(locals().values()) if isinstance(x, type) and \
x.__name__.endswith('MetadataReader')] x.__name__.endswith('MetadataReader')]

View File

@ -196,7 +196,7 @@ class InputFormatPlugin(Plugin):
def __call__(self, stream, options, file_ext, log, def __call__(self, stream, options, file_ext, log,
accelerators, output_dir): accelerators, output_dir):
log('InputFormatPlugin: %s running'%self.name, end=' ') log('InputFormatPlugin: %s running'%self.name)
if hasattr(stream, 'name'): if hasattr(stream, 'name'):
log('on', stream.name) log('on', stream.name)

View File

@ -123,6 +123,7 @@ def debug_device_driver():
print print
print print
print "Don't forget to send the file /tmp/ioreg.txt as well" print "Don't forget to send the file /tmp/ioreg.txt as well"
print "You can view it by typing the command: open /tmp/ioreg.txt"
if iswindows: if iswindows:
raw_input('Press Enter to continue...') raw_input('Press Enter to continue...')

View File

@ -101,7 +101,6 @@ class GER2(EB600):
name = 'Ganaxa GeR2 Device Interface' name = 'Ganaxa GeR2 Device Interface'
gui_name = 'Ganaxa GeR2' gui_name = 'Ganaxa GeR2'
supported_platforms = ['windows', 'linux']
FORMATS = ['pdf'] FORMATS = ['pdf']
@ -112,3 +111,15 @@ class GER2(EB600):
VENDOR_NAME = 'GANAXA' VENDOR_NAME = 'GANAXA'
WINDOWS_MAIN_MEN = 'GER2_________-FD' WINDOWS_MAIN_MEN = 'GER2_________-FD'
WINDOWS_CARD_A_MEM = 'GER2_________-SD' WINDOWS_CARD_A_MEM = 'GER2_________-SD'
class ITALICA(EB600):
name = 'Italica Device Interface'
gui_name = 'Italica'
FORMATS = ['epub', 'pdf', 'txt']
VENDOR_NAME = 'ITALICA'
WINDOWS_MAIN_MEM = 'EREADER'
OSX_MAIN_MEM = 'Italica eReader Media'

View File

@ -16,7 +16,7 @@ class N770(USBMS):
gui_name = 'Nokia 770' gui_name = 'Nokia 770'
description = _('Communicate with the Nokia Nokia 770 internet tablet.') description = _('Communicate with the Nokia Nokia 770 internet tablet.')
author = 'John Schember' author = 'John Schember'
supported_platforms = ['windows', 'linux'] supported_platforms = ['windows', 'linux', 'osx']
# Ordered list of supported formats # Ordered list of supported formats
FORMATS = ['mobi', 'prc', 'epub', 'html', 'zip', 'fb2', 'chm', 'pdb', FORMATS = ['mobi', 'prc', 'epub', 'html', 'zip', 'fb2', 'chm', 'pdb',

View File

@ -240,8 +240,10 @@ def main():
print "Books in main memory:" print "Books in main memory:"
for book in dev.books(): for book in dev.books():
print book print book
print "\nBooks on storage card:" print "\nBooks on storage carda:"
for book in dev.books(oncard=True): print book for book in dev.books(oncard='carda'): print book
print "\nBooks on storage cardb:"
for book in dev.books(oncard='cardb'): print book
elif command == "mkdir": elif command == "mkdir":
parser = OptionParser(usage="usage: %prog mkdir [options] path\nCreate a directory on the device\n\npath must begin with / or card:/") parser = OptionParser(usage="usage: %prog mkdir [options] path\nCreate a directory on the device\n\npath must begin with / or card:/")
if len(args) != 1: if len(args) != 1:

View File

@ -24,7 +24,7 @@ class PRS505(CLI, Device):
name = 'PRS-300/505 Device Interface' name = 'PRS-300/505 Device Interface'
gui_name = 'SONY Pocket Edition' gui_name = 'SONY Pocket Edition'
description = _('Communicate with the Sony PRS-300/505/500 eBook reader.') description = _('Communicate with the Sony PRS-300/505/500 eBook reader.')
author = _('Kovid Goyal and John Schember') author = 'Kovid Goyal and John Schember'
supported_platforms = ['windows', 'osx', 'linux'] supported_platforms = ['windows', 'osx', 'linux']
path_sep = '/' path_sep = '/'
@ -204,3 +204,22 @@ class PRS505(CLI, Device):
self.report_progress(1.0, _('Sending metadata to device...')) self.report_progress(1.0, _('Sending metadata to device...'))
class PRS700(PRS505):
name = 'PRS-600/700 Device Interface'
description = _('Communicate with the Sony PRS-600/700 eBook reader.')
author = 'Kovid Goyal and John Schember'
gui_name = 'SONY Touch edition'
supported_platforms = ['windows', 'osx', 'linux']
BCD = [0x31a]
WINDOWS_MAIN_MEM = re.compile('PRS-((700/)|(600&))')
WINDOWS_CARD_A_MEM = re.compile(r'PRS-((700/\S+:)|(600_))MS')
WINDOWS_CARD_B_MEM = re.compile(r'PRS-((700/\S+:)|(600_))SD')
OSX_MAIN_MEM = re.compile(r'Sony PRS-((700/[^:]+)|(600)) Media')
OSX_CARD_A_MEM = re.compile(r'Sony PRS-((700/[^:]+:)|(600 ))MS Media')
OSX_CARD_B_MEM = re.compile(r'Sony PRS-((700/[^:]+:)|(600 ))SD Media')

View File

@ -1,6 +0,0 @@
__license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
'''
Device driver for the SONY PRS-700
'''

View File

@ -1,32 +0,0 @@
# -*- coding: utf-8 -*-
__license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
'''
Device driver for the SONY PRS-700
'''
from calibre.devices.prs505.driver import PRS505
import re
class PRS700(PRS505):
name = 'PRS-600/700 Device Interface'
description = _('Communicate with the Sony PRS-600/700 eBook reader.')
author = _('Kovid Goyal and John Schember')
gui_name = 'SONY Touch edition'
supported_platforms = ['windows', 'osx', 'linux']
BCD = [0x31a]
WINDOWS_MAIN_MEM = re.compile('PRS-((700/)|(600&))')
WINDOWS_CARD_A_MEM = re.compile(r'PRS-((700/\S+:)|(600_))MS')
WINDOWS_CARD_B_MEM = re.compile(r'PRS-((700/\S+:)|(600_))SD')
OSX_MAIN_MEM = re.compile(r'Sony PRS-((700/[^:]+)|(600)) Media')
OSX_CARD_A_MEM = re.compile(r'Sony PRS-((700/[^:]+:)|(600 ))MS Media')
OSX_CARD_B_MEM = re.compile(r'Sony PRS-((700/[^:]+:)|(600 ))SD Media')

View File

@ -65,8 +65,10 @@ class LinuxScanner(object):
ans.add(tuple(dev)) ans.add(tuple(dev))
return ans return ans
linux_scanner = None
linux_scanner = LinuxScanner() if islinux:
linux_scanner = LinuxScanner()
class DeviceScanner(object): class DeviceScanner(object):

View File

@ -56,36 +56,40 @@ class USBMS(CLI, Device):
return bl return bl
prefix = self._card_a_prefix if oncard == 'carda' else self._card_b_prefix if oncard == 'cardb' else self._main_prefix prefix = self._card_a_prefix if oncard == 'carda' else self._card_b_prefix if oncard == 'cardb' else self._main_prefix
ebook_dir = self.EBOOK_DIR_CARD_A if oncard == 'carda' else \ ebook_dirs = self.EBOOK_DIR_CARD_A if oncard == 'carda' else \
self.EBOOK_DIR_CARD_B if oncard == 'cardb' else \ self.EBOOK_DIR_CARD_B if oncard == 'cardb' else \
self.get_main_ebook_dir() self.get_main_ebook_dir()
# Get all books in the ebook_dir directory if isinstance(ebook_dirs, basestring):
if self.SUPPORTS_SUB_DIRS: ebook_dirs = [ebook_dirs]
for path, dirs, files in os.walk(os.path.join(prefix, ebook_dir)): for ebook_dir in ebook_dirs:
# Filter out anything that isn't in the list of supported ebook types ebook_dir = os.path.join(prefix, *(ebook_dir.split('/')))
for book_type in self.FORMATS: if not os.path.exists(ebook_dir): continue
match = fnmatch.filter(files, '*.%s' % (book_type)) # Get all books in the ebook_dir directory
for i, filename in enumerate(match): if self.SUPPORTS_SUB_DIRS:
self.report_progress((i+1) / float(len(match)), _('Getting list of books on device...')) for path, dirs, files in os.walk(ebook_dir):
# Filter out anything that isn't in the list of supported ebook types
for book_type in self.FORMATS:
match = fnmatch.filter(files, '*.%s' % (book_type))
for i, filename in enumerate(match):
self.report_progress((i+1) / float(len(match)), _('Getting list of books on device...'))
try:
bl.append(self.__class__.book_from_path(os.path.join(path, filename)))
except: # Probably a filename encoding error
import traceback
traceback.print_exc()
continue
else:
paths = os.listdir(ebook_dir)
for i, filename in enumerate(paths):
self.report_progress((i+1) / float(len(paths)), _('Getting list of books on device...'))
if path_to_ext(filename) in self.FORMATS:
try: try:
bl.append(self.__class__.book_from_path(os.path.join(path, filename))) bl.append(self.__class__.book_from_path(os.path.join(ebook_dir, filename)))
except: # Probably a filename encoding error except: # Probably a file name encoding error
import traceback import traceback
traceback.print_exc() traceback.print_exc()
continue continue
else:
path = os.path.join(prefix, ebook_dir)
paths = os.listdir(path)
for i, filename in enumerate(paths):
self.report_progress((i+1) / float(len(paths)), _('Getting list of books on device...'))
if path_to_ext(filename) in self.FORMATS:
try:
bl.append(self.__class__.book_from_path(os.path.join(path, filename)))
except: # Probably a file name encoding error
import traceback
traceback.print_exc()
continue
self.report_progress(1.0, _('Getting list of books on device...')) self.report_progress(1.0, _('Getting list of books on device...'))

View File

@ -356,7 +356,10 @@ class MobiMLizer(object):
if value == getattr(self.profile, prop): if value == getattr(self.profile, prop):
result = '100%' result = '100%'
else: else:
ems = int(round(value / self.profile.fbase)) try:
ems = int(round(float(value) / self.profile.fbase))
except:
continue
result = "%dem" % ems result = "%dem" % ems
istate.attrib[prop] = result istate.attrib[prop] = result
elif tag == 'hr' and asfloat(style['width']) > 0: elif tag == 'hr' and asfloat(style['width']) > 0:

View File

@ -701,6 +701,7 @@ class MobiReader(object):
if self.book_header.ancient and '<html' not in self.mobi_html[:300].lower(): if self.book_header.ancient and '<html' not in self.mobi_html[:300].lower():
self.mobi_html = self.mobi_html.replace('\r ', '\n\n ') self.mobi_html = self.mobi_html.replace('\r ', '\n\n ')
self.mobi_html = self.mobi_html.replace('\0', '') self.mobi_html = self.mobi_html.replace('\0', '')
self.mobi_html = self.mobi_html.replace('\x1e', '') # record separator
return processed_records return processed_records

View File

@ -759,6 +759,7 @@ class Manifest(object):
% (self.id, self.href, self.media_type) % (self.id, self.href, self.media_type)
def _parse_xml(self, data): def _parse_xml(self, data):
data = xml_to_unicode(data, strip_encoding_pats=True)[0]
parser = etree.XMLParser(recover=True) parser = etree.XMLParser(recover=True)
try: try:
return etree.fromstring(data, parser=parser) return etree.fromstring(data, parser=parser)
@ -1205,8 +1206,12 @@ class Manifest(object):
return elem return elem
def to_opf2(self, parent=None): def to_opf2(self, parent=None):
def sort(x, y):
return cmp(x.href, y.href)
elem = element(parent, OPF('manifest')) elem = element(parent, OPF('manifest'))
for item in self.items: for item in sorted(self.items, cmp=sort):
media_type = item.media_type media_type = item.media_type
if media_type in OEB_DOCS: if media_type in OEB_DOCS:
media_type = XHTML_MIME media_type = XHTML_MIME
@ -1434,7 +1439,6 @@ class Guide(object):
return elem return elem
# TODO: This needs beefing up to support the interface of toc.TOC
class TOC(object): class TOC(object):
"""Represents a hierarchical table of contents or navigation tree for """Represents a hierarchical table of contents or navigation tree for
accessing arbitrary semantic sections within an OEB data model book. accessing arbitrary semantic sections within an OEB data model book.

View File

@ -195,7 +195,10 @@ class EbookIterator(object):
mt = self.opf.manifest.type_for_id(i.idref) mt = self.opf.manifest.type_for_id(i.idref)
if mt is None: if mt is None:
mt = guess_type(spath)[0] mt = guess_type(spath)[0]
self.spine.append(SpineItem(spath, mime_type=mt)) try:
self.spine.append(SpineItem(spath, mime_type=mt))
except:
self.log.warn('Missing spine item:', repr(spath))
cover = self.opf.cover cover = self.opf.cover
if self.ebook_ext in ('lit', 'mobi', 'prc', 'opf') and cover: if self.ebook_ext in ('lit', 'mobi', 'prc', 'opf') and cover:

View File

@ -167,7 +167,7 @@ class FlowSplitter(object):
self.csp_counter = 0 self.csp_counter = 0
base, ext = os.path.splitext(self.base) base, ext = os.path.splitext(self.base)
self.base = base.replace('%', '%%')+'_split_%d'+ext self.base = base.replace('%', '%%')+'_split_%.3d'+ext
self.trees = [self.item.data.getroottree()] self.trees = [self.item.data.getroottree()]
self.splitting_on_page_breaks = True self.splitting_on_page_breaks = True

View File

@ -85,6 +85,8 @@ def _config():
help=_('Maximum number of waiting worker processes')) help=_('Maximum number of waiting worker processes'))
c.add_opt('get_social_metadata', default=True, c.add_opt('get_social_metadata', default=True,
help=_('Download social metadata (tags/rating/etc.)')) help=_('Download social metadata (tags/rating/etc.)'))
c.add_opt('enforce_cpu_limit', default=True,
help=_('Limit max simultaneous jobs to number of CPUs'))
return ConfigProxy(c) return ConfigProxy(c)

View File

@ -456,6 +456,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog):
self.connect(self.button_open_config_dir, SIGNAL('clicked()'), self.connect(self.button_open_config_dir, SIGNAL('clicked()'),
self.open_config_dir) self.open_config_dir)
self.opt_get_social_metadata.setChecked(config['get_social_metadata']) self.opt_get_social_metadata.setChecked(config['get_social_metadata'])
self.opt_enforce_cpu_limit.setChecked(config['enforce_cpu_limit'])
def open_config_dir(self): def open_config_dir(self):
from calibre.utils.config import config_dir from calibre.utils.config import config_dir
@ -742,6 +743,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog):
config['upload_news_to_device'] = self.sync_news.isChecked() config['upload_news_to_device'] = self.sync_news.isChecked()
config['search_as_you_type'] = self.search_as_you_type.isChecked() config['search_as_you_type'] = self.search_as_you_type.isChecked()
config['get_social_metadata'] = self.opt_get_social_metadata.isChecked() config['get_social_metadata'] = self.opt_get_social_metadata.isChecked()
config['enforce_cpu_limit'] = bool(self.opt_enforce_cpu_limit.isChecked())
fmts = [] fmts = []
for i in range(self.viewer.count()): for i in range(self.viewer.count()):
if self.viewer.item(i).checkState() == Qt.Checked: if self.viewer.item(i).checkState() == Qt.Checked:

View File

@ -15,7 +15,7 @@
<string>Preferences</string> <string>Preferences</string>
</property> </property>
<property name="windowIcon"> <property name="windowIcon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/config.svg</normaloff>:/images/config.svg</iconset> <normaloff>:/images/config.svg</normaloff>:/images/config.svg</iconset>
</property> </property>
<layout class="QGridLayout"> <layout class="QGridLayout">
@ -90,7 +90,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>524</width> <width>524</width>
<height>680</height> <height>683</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QGridLayout" name="gridLayout_7">
@ -148,7 +148,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/mimetypes/dir.svg</normaloff>:/images/mimetypes/dir.svg</iconset> <normaloff>:/images/mimetypes/dir.svg</normaloff>:/images/mimetypes/dir.svg</iconset>
</property> </property>
</widget> </widget>
@ -285,7 +285,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/arrow-up.svg</normaloff>:/images/arrow-up.svg</iconset> <normaloff>:/images/arrow-up.svg</normaloff>:/images/arrow-up.svg</iconset>
</property> </property>
</widget> </widget>
@ -309,7 +309,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset> <normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset>
</property> </property>
</widget> </widget>
@ -473,7 +473,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/arrow-up.svg</normaloff>:/images/arrow-up.svg</iconset> <normaloff>:/images/arrow-up.svg</normaloff>:/images/arrow-up.svg</iconset>
</property> </property>
</widget> </widget>
@ -497,7 +497,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset> <normaloff>:/images/arrow-down.svg</normaloff>:/images/arrow-down.svg</iconset>
</property> </property>
</widget> </widget>
@ -557,7 +557,7 @@
<string>&amp;Add email</string> <string>&amp;Add email</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/plus.svg</normaloff>:/images/plus.svg</iconset> <normaloff>:/images/plus.svg</normaloff>:/images/plus.svg</iconset>
</property> </property>
<property name="iconSize"> <property name="iconSize">
@ -584,7 +584,7 @@
<string>&amp;Remove email</string> <string>&amp;Remove email</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/minus.svg</normaloff>:/images/minus.svg</iconset> <normaloff>:/images/minus.svg</normaloff>:/images/minus.svg</iconset>
</property> </property>
<property name="iconSize"> <property name="iconSize">
@ -649,27 +649,34 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> <item row="2" column="0" colspan="2">
<widget class="QPushButton" name="compact_button"> <widget class="QPushButton" name="compact_button">
<property name="text"> <property name="text">
<string>&amp;Check database integrity</string> <string>&amp;Check database integrity</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="2"> <item row="4" 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>&amp;Install command line tools</string> <string>&amp;Install command line tools</string>
</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_open_config_dir"> <widget class="QPushButton" name="button_open_config_dir">
<property name="text"> <property name="text">
<string>Open calibre &amp;configuration directory</string> <string>Open calibre &amp;configuration directory</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QCheckBox" name="opt_enforce_cpu_limit">
<property name="text">
<string>Limit the max. simultaneous jobs to the available CPU &amp;cores</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="page_4"> <widget class="QWidget" name="page_4">
@ -959,7 +966,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../../resources/images.qrc"> <iconset resource="../../../../work/calibre/resources/images.qrc">
<normaloff>:/images/document_open.svg</normaloff>:/images/document_open.svg</iconset> <normaloff>:/images/document_open.svg</normaloff>:/images/document_open.svg</iconset>
</property> </property>
</widget> </widget>
@ -1030,7 +1037,7 @@
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<resources> <resources>
<include location="../../../../../resources/images.qrc"/> <include location="../../../../work/calibre/resources/images.qrc"/>
</resources> </resources>
<connections> <connections>
<connection> <connection>

View File

@ -11,22 +11,22 @@ def _config_name(name):
return name + '_again' return name + '_again'
class Dialog(QDialog, Ui_Dialog): class Dialog(QDialog, Ui_Dialog):
def __init__(self, msg, name, parent): def __init__(self, msg, name, parent):
QDialog.__init__(self, parent) QDialog.__init__(self, parent)
self.setupUi(self) self.setupUi(self)
self.msg.setText(msg) self.msg.setText(msg)
self.name = name self.name = name
self.connect(self.again, SIGNAL('stateChanged(int)'), self.toggle) self.connect(self.again, SIGNAL('stateChanged(int)'), self.toggle)
self.buttonBox.setFocus(Qt.OtherFocusReason) self.buttonBox.setFocus(Qt.OtherFocusReason)
def toggle(self, x): def toggle(self, x):
dynamic[_config_name(self.name)] = self.again.isChecked() dynamic[_config_name(self.name)] = self.again.isChecked()
def confirm(msg, name, parent=None): def confirm(msg, name, parent=None):
if not dynamic.get(_config_name(name), True): if not dynamic.get(_config_name(name), True):
return True return True
d = Dialog(msg, name, parent) d = Dialog(msg, name, parent)
return d.exec_() == d.Accepted return d.exec_() == d.Accepted

View File

@ -290,6 +290,7 @@ class Scheduler(QObject):
def recipe_download_failed(self, arg): def recipe_download_failed(self, arg):
self.lock.lock() self.lock.lock()
try: try:
self.recipe_model.update_last_downloaded(arg['urn'])
self.download_queue.remove(arg['urn']) self.download_queue.remove(arg['urn'])
finally: finally:
self.lock.unlock() self.lock.unlock()

View File

@ -31,7 +31,8 @@ class JobManager(QAbstractTableModel):
self.jobs = [] self.jobs = []
self.add_job = Dispatcher(self._add_job) self.add_job = Dispatcher(self._add_job)
self.server = Server(limit=int(config['worker_limit']/2.0)) self.server = Server(limit=int(config['worker_limit']/2.0),
enforce_cpu_limit=config['enforce_cpu_limit'])
self.changed_queue = Queue() self.changed_queue = Queue()
self.timer = QTimer(self) self.timer = QTimer(self)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre 0.6.27\n" "Project-Id-Version: calibre 0.6.28\n"
"POT-Creation-Date: 2009-12-11 15:44+MST\n" "POT-Creation-Date: 2009-12-14 14:13+MST\n"
"PO-Revision-Date: 2009-12-11 15:44+MST\n" "PO-Revision-Date: 2009-12-14 14:13+MST\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"
@ -26,7 +26,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:765 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:765
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:768 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:768
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:189 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:193
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:69 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:69
@ -63,19 +63,19 @@ msgstr ""
#: /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:591 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:779
#: /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:895 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:896
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:901
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:961
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:185 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:185
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:186 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:186
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:83 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:83
@ -96,8 +96,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:217 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:217
#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:219 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:219
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:268 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:270
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:277
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:21
@ -380,7 +380,6 @@ msgid "Communicate with the Blackberry smart phone."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13
#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24
#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:17
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:16
#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18
@ -388,33 +387,32 @@ msgstr ""
msgid "Kovid Goyal" msgid "Kovid Goyal"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:21 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:22
msgid "Communicate with the Cybook Gen 3 eBook reader." msgid "Communicate with the Cybook Gen 3 eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:22 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:75
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:86 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:77
#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17
#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:30
msgid "John Schember"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:76
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:76
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:78 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:78
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:134 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:134
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:136 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:136
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:111 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:115
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:117
msgid "Transferring books to device..." msgid "Transferring books to device..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:85 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:94
msgid "Communicate with the Cybook Opus eBook reader." msgid "Communicate with the Cybook Opus eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17
#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:30
msgid "John Schember"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:23 #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:23
msgid "Communicate with the EB600 eBook reader." msgid "Communicate with the EB600 eBook reader."
msgstr "" msgstr ""
@ -427,7 +425,7 @@ msgstr ""
msgid "Communicate with the IRex Iliad eBook reader." msgid "Communicate with the IRex Iliad eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/interface.py:23 #: /home/kovid/work/calibre/src/calibre/devices/interface.py:22
msgid "Device Interface" msgid "Device Interface"
msgstr "" msgstr ""
@ -459,6 +457,10 @@ msgstr ""
msgid "Communicate with the Kindle DX eBook reader." msgid "Communicate with the Kindle DX eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17
msgid "Communicate with the Nokia Nokia 770 internet tablet."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:16
msgid "The Nook" msgid "The Nook"
msgstr "" msgstr ""
@ -483,9 +485,9 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:75
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:81 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:85
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:94
msgid "Getting list of books on device..." msgid "Getting list of books on device..."
msgstr "" msgstr ""
@ -493,24 +495,19 @@ msgstr ""
msgid "Communicate with the Sony PRS-300/505/500 eBook reader." msgid "Communicate with the Sony PRS-300/505/500 eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:27
#: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:18
msgid "Kovid Goyal and John Schember"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:167 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:167
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:174 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:174
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:135
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:150
msgid "Removing books from device..." msgid "Removing books from device..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:202 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:202
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:161 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:165
msgid "Sending metadata to device..." msgid "Sending metadata to device..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:208
msgid "Communicate with the Sony PRS-600/700 eBook reader." msgid "Communicate with the Sony PRS-600/700 eBook reader."
msgstr "" msgstr ""
@ -596,13 +593,13 @@ msgstr ""
msgid "Get device information..." msgid "Get device information..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:119 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:123
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:127 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:131
msgid "Adding books to device metadata listing..." msgid "Adding books to device metadata listing..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:150 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:154
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:159
msgid "Removing books from device metadata listing..." msgid "Removing books from device metadata listing..."
msgstr "" msgstr ""
@ -992,7 +989,7 @@ msgstr ""
msgid "Normally, if the input file has no cover and you don't specify one, a default cover is generated with the title, authors, etc. This option disables the generation of this cover." msgid "Normally, if the input file has no cover and you don't specify one, a default cover is generated with the title, authors, etc. This option disables the generation of this cover."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:130 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:141
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113 #: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
@ -1522,7 +1519,7 @@ msgid ""
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Cover" msgid "Cover"
msgstr "" msgstr ""
@ -1551,70 +1548,70 @@ msgstr ""
msgid "All articles" msgid "All articles"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
msgid "Title Page" msgid "Title Page"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents" msgid "Table of Contents"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Index" msgid "Index"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Glossary" msgid "Glossary"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Acknowledgements" msgid "Acknowledgements"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Bibliography" msgid "Bibliography"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Colophon" msgid "Colophon"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Copyright" msgid "Copyright"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Dedication" msgid "Dedication"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Epigraph" msgid "Epigraph"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "Foreword" msgid "Foreword"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Illustrations" msgid "List of Illustrations"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "List of Tables" msgid "List of Tables"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Preface" msgid "Preface"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1340
msgid "Main Text" msgid "Main Text"
msgstr "" msgstr ""
@ -2041,20 +2038,24 @@ msgstr ""
msgid "Download social metadata (tags/rating/etc.)" msgid "Download social metadata (tags/rating/etc.)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89
msgid "Limit max simultaneous jobs to number of CPUs"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:403 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:403
msgid "Copied" msgid "Copied"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:161
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:161
msgid "Copy to Clipboard" msgid "Copy to Clipboard"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:389 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:391
msgid "Choose Files" msgid "Choose Files"
msgstr "" msgstr ""
@ -2279,12 +2280,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:69 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:69
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:70
#: /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
#: /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
#: /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
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:526 #: /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:527 #: /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:560 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:564
#: /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
@ -3375,126 +3376,126 @@ msgstr ""
msgid "new email address" msgid "new email address"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:469
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:813
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /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:469 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:470
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:472 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:473
msgid "Command line tools installed" msgid "Command line tools installed"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:474
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:474 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:475
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:525 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:526
msgid "No valid plugin path" msgid "No valid plugin path"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:526 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:527
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:529 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:530
msgid "Choose plugin" msgid "Choose plugin"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:541 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:542
msgid "Plugin cannot be disabled" msgid "Plugin cannot be disabled"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:542 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:543
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:551 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:552
msgid "Plugin not customizable" msgid "Plugin not customizable"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:552 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:553
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:560 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:561
msgid "Customize" msgid "Customize"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:598 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:599
msgid "Cannot remove builtin plugin" msgid "Cannot remove builtin plugin"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:599 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:600
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:632 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:633
msgid "Error log:" msgid "Error log:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:639 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:640
msgid "Access log:" msgid "Access log:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:667 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:668
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613
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:691 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:692
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:513 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:513
msgid "Select location for books" msgid "Select location for books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:699 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:700
msgid "Invalid size" msgid "Invalid size"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:700 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:701
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:752 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:754
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:757 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:759
msgid "Invalid database location" msgid "Invalid database location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:753 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:755
msgid "Invalid database location " msgid "Invalid database location "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:754 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:756
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:758 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:760
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:792 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:794
msgid "Checking database integrity" msgid "Checking database integrity"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:812 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:814
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:817 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:819
msgid "Some inconsistencies found" msgid "Some inconsistencies found"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:818 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:820
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 ""
@ -3578,264 +3579,268 @@ msgstr ""
msgid "&Saving books" msgid "&Saving books"
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
#: /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:494 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:497
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:495 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:498
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:497 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:500
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:498 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:501
msgid "Download &social metadata (tags/ratings/etc.) by default" msgid "Download &social metadata (tags/ratings/etc.) by default"
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 "Default network &timeout:" msgid "Default network &timeout:"
msgstr "" msgstr ""
#: /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
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:501 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:504
msgid " seconds" msgid " seconds"
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 "Choose &language (requires restart):" msgid "Choose &language (requires restart):"
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 "Normal" msgid "Normal"
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 "High" msgid "High"
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 "Low" msgid "Low"
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 "Job &priority:" msgid "Job &priority:"
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 "Preferred &output format:" msgid "Preferred &output format:"
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 "Preferred &input format order:" msgid "Preferred &input format order:"
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 "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:512 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:515
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:513 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:516
msgid "Show &notifications in system tray" msgid "Show &notifications in system tray"
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:517
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:515 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:518
msgid "Search as you type" msgid "Search as you type"
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:519
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:517 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:520
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:518 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:521
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:519 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:522
msgid "Toolbar" msgid "Toolbar"
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:523
msgid "Large" msgid "Large"
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:524
msgid "Medium" msgid "Medium"
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:525
msgid "Small" msgid "Small"
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:526
msgid "&Button size in toolbar" msgid "&Button size in toolbar"
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:527
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:525 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:528
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:528 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:531
msgid "Use internal &viewer for:" msgid "Use internal &viewer for:"
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:532
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:530 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:533
msgid "&Add email" msgid "&Add email"
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:534
msgid "Make &default" msgid "Make &default"
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:535
msgid "&Remove email" msgid "&Remove email"
msgstr "" msgstr ""
#: /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:536
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:534 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537
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:535 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538
msgid "&Check database integrity" msgid "&Check database integrity"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:536 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:539
msgid "&Install command line tools" msgid "&Install command line tools"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:537 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540
msgid "Open calibre &configuration directory" msgid "Open calibre &configuration directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:541
msgid "Limit the max. simultaneous jobs to the available CPU &cores"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:542
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:539 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:543
msgid "Server &port:" msgid "Server &port:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:540 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:544
#: /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:541 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545
#: /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:542 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:546
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:543 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:547
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:544 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548
msgid "Max. &cover size:" msgid "Max. &cover size:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:545 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549
#: /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:546 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550
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:547 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:551
msgid "&Start Server" msgid "&Start Server"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:548 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552
msgid "St&op Server" msgid "St&op Server"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:549 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:553
msgid "&Test Server" msgid "&Test Server"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:550 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:554
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:551 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:555
msgid "View &server logs" msgid "View &server logs"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:552 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556
#: /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:554 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558
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:555 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559
msgid "Enable/&Disable plugin" msgid "Enable/&Disable plugin"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:556 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:560
msgid "&Customize plugin" msgid "&Customize plugin"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:557 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561
msgid "&Remove plugin" msgid "&Remove plugin"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:558 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:562
msgid "Add new plugin" msgid "Add new plugin"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:559 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:563
msgid "Plugin &file:" msgid "Plugin &file:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:561 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:565
msgid "&Add" msgid "&Add"
msgstr "" msgstr ""
@ -4685,54 +4690,54 @@ msgstr ""
msgid "Regular expression (?P<isbn>)" msgid "Regular expression (?P<isbn>)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:53
msgid "Job" msgid "Job"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:54
msgid "Status" msgid "Status"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:55
msgid "Progress" msgid "Progress"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:56
msgid "Running time" msgid "Running time"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:68
msgid "There are %d running jobs:" msgid "There are %d running jobs:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:94
msgid "Unknown job" msgid "Unknown job"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:75
msgid "There are %d waiting jobs:" msgid "There are %d waiting jobs:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:211
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:213 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:214
msgid "Cannot kill job" msgid "Cannot kill job"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:212
msgid "Cannot kill jobs that communicate with the device" msgid "Cannot kill jobs that communicate with the device"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:214 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:215
msgid "Job has already run" msgid "Job has already run"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
msgid "Unavailable" msgid "Unavailable"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:253 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:254
msgid " - Jobs" msgid " - Jobs"
msgstr "" msgstr ""
@ -6865,12 +6870,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:172 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:181
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:173 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:182
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: de\n" "Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-10 20:44+0000\n" "POT-Creation-Date: 2009-12-11 23:27+0000\n"
"PO-Revision-Date: 2009-12-10 21:08+0000\n" "PO-Revision-Date: 2009-12-11 23:47+0000\n"
"Last-Translator: S. Dorscht <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-11 04:33+0000\n" "X-Launchpad-Export-Date: 2009-12-13 04:35+0000\n"
"X-Generator: Launchpad (build Unknown)\n" "X-Generator: Launchpad (build Unknown)\n"
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
@ -27,8 +27,8 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:53 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:53
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:756 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:765
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:759 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:768
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:189 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:189
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67
@ -463,8 +463,8 @@ msgstr "John Schember"
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:76
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:76
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:78 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:78
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:134
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:136
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:111 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:111
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113
msgid "Transferring books to device..." msgid "Transferring books to device..."
@ -486,7 +486,7 @@ msgstr "Kommunikation mit dem ESlick eBook Reader."
msgid "Communicate with the IRex Iliad eBook reader." msgid "Communicate with the IRex Iliad eBook reader."
msgstr "Kommunikation mit dem IRex Iliad eBook Reader." msgstr "Kommunikation mit dem IRex Iliad eBook Reader."
#: /home/kovid/work/calibre/src/calibre/devices/interface.py:22 #: /home/kovid/work/calibre/src/calibre/devices/interface.py:23
msgid "Device Interface" msgid "Device Interface"
msgstr "Geräte-Schnittstellen" msgstr "Geräte-Schnittstellen"
@ -535,10 +535,10 @@ msgid "Communicate with the Sony PRS-500 eBook reader."
msgstr "Kommunikation mit dem Sony PRS-500 eBook Reader." msgstr "Kommunikation mit dem Sony PRS-500 eBook Reader."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:150 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:150
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:97 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:97
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:111 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:103
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55
@ -557,14 +557,14 @@ msgstr "Kommunikation mit dem Sony PRS-300/505/500 eBook Reader."
msgid "Kovid Goyal and John Schember" msgid "Kovid Goyal and John Schember"
msgstr "Kovid Goyal und John Schember" msgstr "Kovid Goyal und John Schember"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:164 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:167
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:171 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:174
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:131
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
msgid "Removing books from device..." msgid "Removing books from device..."
msgstr "Bücher vom Gerät entfernen ..." msgstr "Bücher vom Gerät entfernen ..."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:199 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:202
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:161 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:161
msgid "Sending metadata to device..." msgid "Sending metadata to device..."
msgstr "Metadaten ans Gerät senden ..." msgstr "Metadaten ans Gerät senden ..."
@ -573,21 +573,21 @@ msgstr "Metadaten ans Gerät senden ..."
msgid "Communicate with the Sony PRS-600/700 eBook reader." msgid "Communicate with the Sony PRS-600/700 eBook reader."
msgstr "Kommunikation mit dem Sony PRS-600/700 eBook Reader." msgstr "Kommunikation mit dem Sony PRS-600/700 eBook Reader."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:299 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:308
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:371 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:380
msgid "Unable to detect the %s disk drive. Try rebooting." msgid "Unable to detect the %s disk drive. Try rebooting."
msgstr "" msgstr ""
"Das Laufwerk %s konnte nicht gefunden werden. Versuchen Sie einen Neustart." "Das Laufwerk %s konnte nicht gefunden werden. Versuchen Sie einen Neustart."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:439 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:448
msgid "Unable to detect the %s disk drive." msgid "Unable to detect the %s disk drive."
msgstr "Das %s-Laufwerk konnte nicht erkannt werden." msgstr "Das %s-Laufwerk konnte nicht erkannt werden."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:532 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:541
msgid "Could not find mount helper: %s." msgid "Could not find mount helper: %s."
msgstr "Mount Helper konnte nicht gefunden werden: %s." msgstr "Mount Helper konnte nicht gefunden werden: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:544 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:553
msgid "" msgid ""
"Unable to detect the %s disk drive. Your kernel is probably exporting a " "Unable to detect the %s disk drive. Your kernel is probably exporting a "
"deprecated version of SYSFS." "deprecated version of SYSFS."
@ -595,29 +595,29 @@ msgstr ""
"%s Festplatte konnte nicht erkannt werden. Ihr Kernel exportiert " "%s Festplatte konnte nicht erkannt werden. Ihr Kernel exportiert "
"möglicherweise eine abgelehnte Version von SYSFS." "möglicherweise eine abgelehnte Version von SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:552 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:561
msgid "Unable to mount main memory (Error code: %d)" msgid "Unable to mount main memory (Error code: %d)"
msgstr "Hauptspeicher konnte nicht eingehängt werden (Fehler-Code: %d)" msgstr "Hauptspeicher konnte nicht eingehängt werden (Fehler-Code: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:689 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:698
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:691 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:700
msgid "The reader has no storage card in this slot." msgid "The reader has no storage card in this slot."
msgstr "Das Gerät hat keine Speicherkarte in diesem Laufwerk." msgstr "Das Gerät hat keine Speicherkarte in diesem Laufwerk."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:693 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:702
msgid "Selected slot: %s is not supported." msgid "Selected slot: %s is not supported."
msgstr "Gewählter Slot: %s wird nicht unterstützt." msgstr "Gewählter Slot: %s wird nicht unterstützt."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:724 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:733
msgid "There is insufficient free space in main memory" msgid "There is insufficient free space in main memory"
msgstr "Nicht genügend freier Spreicherplatz im Hauptspeicher" msgstr "Nicht genügend freier Spreicherplatz im Hauptspeicher"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:726 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:735
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:728 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:737
msgid "There is insufficient free space on the storage card" msgid "There is insufficient free space on the storage card"
msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte" msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:739 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:748
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:125
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1059 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1059
@ -2249,11 +2249,11 @@ msgstr ""
"Voreinstellung ist cp1252. Achtung: Diese Einstellung wird nicht von allen " "Voreinstellung ist cp1252. Achtung: Diese Einstellung wird nicht von allen "
"Formaten übernommen." "Formaten übernommen."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:22 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24
msgid "Do not extract images from the document" msgid "Do not extract images from the document"
msgstr "Bilder nicht aus dem Dokument extrahieren" msgstr "Bilder nicht aus dem Dokument extrahieren"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:26
msgid "" msgid ""
"Scale used to determine the length at which a line should be unwrapped. " "Scale used to determine the length at which a line should be unwrapped. "
"Valid values are a decimal between 0 and 1. The default is 0.5, this is the " "Valid values are a decimal between 0 and 1. The default is 0.5, this is the "
@ -2263,6 +2263,10 @@ msgstr ""
"soll. Gültige Werte sind Dezimalzahlen zwischen 0 und 1. Die Voreinstellung " "soll. Gültige Werte sind Dezimalzahlen zwischen 0 und 1. Die Voreinstellung "
"ist 0.5, das ist die mittlere Zeilenlänge." "ist 0.5, das ist die mittlere Zeilenlänge."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30
msgid "Use the new PDF conversion engine."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31
msgid "" msgid ""
"command ...\n" "command ...\n"
@ -3508,7 +3512,7 @@ msgid "RB Output"
msgstr "RB-Ausgabe" msgstr "RB-Ausgabe"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1421
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "Format zur Vorschau wählen" msgstr "Format zur Vorschau wählen"
@ -5783,15 +5787,15 @@ msgstr "Mit Trennstrich versehen"
msgid "<b>Changes will only take effect after a restart.</b>" msgid "<b>Changes will only take effect after a restart.</b>"
msgstr "<b>Änderungen werden erst nach einem Neustart wirksam.</b>" msgstr "<b>Änderungen werden erst nach einem Neustart wirksam.</b>"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70
msgid " - LRF Viewer" msgid " - LRF Viewer"
msgstr " - LRF Viewer" msgstr " - LRF Viewer"
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgid "<b>No matches</b> for the search phrase <i>%s</i> were found."
msgstr "<b>Keine Treffer</b> für die Suchworte <i>%s</i> gefunden." msgstr "<b>Keine Treffer</b> für die Suchworte <i>%s</i> gefunden."
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:389 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:389
msgid "No matches found" msgid "No matches found"
msgstr "Keine Treffer gefunden" msgstr "Keine Treffer gefunden"
@ -6280,7 +6284,7 @@ msgid "Save to disk in a single directory"
msgstr "Auf Festplatte in ein einziges Verzeichnis speichern" msgstr "Auf Festplatte in ein einziges Verzeichnis speichern"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1523
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "Nur das %s Format auf Festplatte speichern" msgstr "Nur das %s Format auf Festplatte speichern"
@ -6315,7 +6319,7 @@ msgid "Calibre Library"
msgstr "Calibre Bibliothek" msgstr "Calibre Bibliothek"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1666
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "Wählen Sie einen Speicherort für Ihre eBook Bibliothek." msgstr "Wählen Sie einen Speicherort für Ihre eBook Bibliothek."
@ -6447,7 +6451,7 @@ msgstr "Konnte Metadaten nicht laden"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1276
msgid "No books selected" msgid "No books selected"
msgstr "Keine Bücher ausgewählt" msgstr "Keine Bücher ausgewählt"
@ -6514,37 +6518,37 @@ msgstr ""
msgid "Fetching news from " msgid "Fetching news from "
msgstr "Rufe Nachrichten ab von " msgstr "Rufe Nachrichten ab von "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1235
msgid " fetched." msgid " fetched."
msgstr " abgerufen." msgstr " abgerufen."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "Cannot convert" msgid "Cannot convert"
msgstr "Konvertierung nicht möglich" msgstr "Konvertierung nicht möglich"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1304
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "Starte Konvertierung von %d Büchern" msgstr "Starte Konvertierung von %d Büchern"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1415
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1434
msgid "No book selected" msgid "No book selected"
msgstr "Kein Buch ausgewählt" msgstr "Kein Buch ausgewählt"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1415
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "Cannot view" msgid "Cannot view"
msgstr "Ansehen nicht möglich" msgstr "Ansehen nicht möglich"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "Konnte Verzeichnis nicht öffnen" msgstr "Konnte Verzeichnis nicht öffnen"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "Mehrere Bücher ausgewählt" msgstr "Mehrere Bücher ausgewählt"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1451
msgid "" msgid ""
"You are attempting to open %d books. Opening too many books at once can be " "You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once " "slow and have a negative effect on the responsiveness of your computer. Once "
@ -6556,32 +6560,32 @@ msgstr ""
"Rechners haben. Einmal gestartet kann der Prozess nicht beendet werden, " "Rechners haben. Einmal gestartet kann der Prozess nicht beendet werden, "
"bevor er abgeschlossen ist. Möchten Sie fortfahren?" "bevor er abgeschlossen ist. Möchten Sie fortfahren?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1466
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "%s hat keine verfügbaren Formate." msgstr "%s hat keine verfügbaren Formate."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure" msgid "Cannot configure"
msgstr "Konfiguration nicht möglich" msgstr "Konfiguration nicht möglich"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1508
msgid "Cannot configure while there are running jobs." msgid "Cannot configure while there are running jobs."
msgstr "Konfiguration nicht möglich während Aufträge abgearbeitet werden." msgstr "Konfiguration nicht möglich während Aufträge abgearbeitet werden."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed info available" msgid "No detailed info available"
msgstr "Es sind keine genaueren Informationen verfügbar" msgstr "Es sind keine genaueren Informationen verfügbar"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1552
msgid "No detailed information is available for books on the device." msgid "No detailed information is available for books on the device."
msgstr "" msgstr ""
"Es sind keine weitere Informationen über Bücher auf dem Gerät verfügbar" "Es sind keine weitere Informationen über Bücher auf dem Gerät verfügbar"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid "Error talking to device" msgid "Error talking to device"
msgstr "Fehler in der Kommunikation zum Gerät" msgstr "Fehler in der Kommunikation zum Gerät"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1605
msgid "" msgid ""
"There was a temporary error talking to the device. Please unplug and " "There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot." "reconnect the device and or reboot."
@ -6589,12 +6593,12 @@ msgstr ""
"Es trat ein Fehler in der Kommunikation mit dem Gerät auf. Bitte entfernen " "Es trat ein Fehler in der Kommunikation mit dem Gerät auf. Bitte entfernen "
"und schließen Sie das Gerät wieder an und - oder starten Sie neu." "und schließen Sie das Gerät wieder an und - oder starten Sie neu."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "Conversion Error" msgid "Conversion Error"
msgstr "Konvertierungsfehler" msgstr "Konvertierungsfehler"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1629
msgid "" msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must " "<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools." "first remove the DRM using third party tools."
@ -6603,19 +6607,19 @@ msgstr ""
"href=\"%s\">DRM</a> geschütztes Buch. Sie müssen zuerst das DRM mit Hilfe " "href=\"%s\">DRM</a> geschütztes Buch. Sie müssen zuerst das DRM mit Hilfe "
"anderer Programme entfernen." "anderer Programme entfernen."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1647
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "<b>Misslungen</b>" msgstr "<b>Misslungen</b>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Invalid library location" msgid "Invalid library location"
msgstr "Ungültiger Ort der Bibliothek" msgstr "Ungültiger Ort der Bibliothek"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1676
msgid "Could not access %s. Using %s as the library." msgid "Could not access %s. Using %s as the library."
msgstr "Konnte nicht auf %s zugreifen. Verwende %s als Bibliothek." msgstr "Konnte nicht auf %s zugreifen. Verwende %s als Bibliothek."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1724
msgid "" msgid ""
"is the result of the efforts of many volunteers from all over the world. If " "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." "you find it useful, please consider donating to support its development."
@ -6624,12 +6628,12 @@ msgstr ""
"Falls Sie es nützlich finden, sollten Sie eine Spende zur Unterstützung " "Falls Sie es nützlich finden, sollten Sie eine Spende zur Unterstützung "
"seiner Entwicklung in Betracht ziehen." "seiner Entwicklung in Betracht ziehen."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1749
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 ""
"Es bestehen aktive Aufträge. Sind Sie sicher, dass sie es beenden wollen?" "Es bestehen aktive Aufträge. Sind Sie sicher, dass sie es beenden wollen?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1752
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"
@ -6640,11 +6644,11 @@ msgstr ""
"verursachen.<br>\n" "verursachen.<br>\n"
" Sind Sie sicher, dass sie beenden möchten?" " Sind Sie sicher, dass sie beenden möchten?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1756
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "WARNUNG: Aktive Aufträge" msgstr "WARNUNG: Aktive Aufträge"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1808
msgid "" msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the " "will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray." "context menu of the system tray."
@ -6652,7 +6656,7 @@ msgstr ""
"wird im System Tray weiter laufen. Zum Schließen wählen Sie <b>Beenden</b> " "wird im System Tray weiter laufen. Zum Schließen wählen Sie <b>Beenden</b> "
"im Kontextmenü des System Tray." "im Kontextmenü des System Tray."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1827
msgid "" msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a " "<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>" "href=\"%s\">%s</a></span>"
@ -6660,11 +6664,11 @@ msgstr ""
"<span style=\"color:red; font-weight:bold\">Letzte Version: <a " "<span style=\"color:red; font-weight:bold\">Letzte Version: <a "
"href=\"%s\">%s</a></span>" "href=\"%s\">%s</a></span>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid "Update available" msgid "Update available"
msgstr "Neue Version verfügbar" msgstr "Neue Version verfügbar"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1836
msgid "" msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-" "%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?" "ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -6824,7 +6828,7 @@ msgid "Options to customize the ebook viewer"
msgstr "Einstellungen zum Anpassen des eBook Viewers" msgstr "Einstellungen zum Anpassen des eBook Viewers"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:618 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:627
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "Zuletzt verwendete Fenstergröße merken" msgstr "Zuletzt verwendete Fenstergröße merken"
@ -6975,46 +6979,46 @@ msgstr "Keine Treffer gefunden für: %s"
msgid "Loading flow..." msgid "Loading flow..."
msgstr "Lade Ablauf..." msgstr "Lade Ablauf..."
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:457 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:466
msgid "Laying out %s" msgid "Laying out %s"
msgstr "Lege %s an" msgstr "Lege %s an"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:486 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:495
msgid "Manage Bookmarks" msgid "Manage Bookmarks"
msgstr "Lesezeichen verwalten" msgstr "Lesezeichen verwalten"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:530
msgid "Loading ebook..." msgid "Loading ebook..."
msgstr "Lade eBook..." msgstr "Lade eBook..."
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:529 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:538
msgid "DRM Error" msgid "DRM Error"
msgstr "DRM Fehler" msgstr "DRM Fehler"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:530 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:539
msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgid "<p>This book is protected by <a href=\"%s\">DRM</a>"
msgstr "<p>Dieses Buch ist geschützt durch <a href=\"%s\">DRM</a>" msgstr "<p>Dieses Buch ist geschützt durch <a href=\"%s\">DRM</a>"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:534 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543
msgid "Could not open ebook" msgid "Could not open ebook"
msgstr "Konnte eBook nicht öffnen" msgstr "Konnte eBook nicht öffnen"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:608 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617
msgid "Options to control the ebook viewer" msgid "Options to control the ebook viewer"
msgstr "Einstellungen zur Kontrolle des eBook Viewers" msgstr "Einstellungen zur Kontrolle des eBook Viewers"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:624
msgid "" msgid ""
"If specified, viewer window will try to come to the front when started." "If specified, viewer window will try to come to the front when started."
msgstr "" msgstr ""
"Falls angegeben, dann wird das Viewer Fenster beim Start im Vordergrund " "Falls angegeben, dann wird das Viewer Fenster beim Start im Vordergrund "
"angezeigt." "angezeigt."
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:629
msgid "Print javascript alert and console messages to the console" msgid "Print javascript alert and console messages to the console"
msgstr "Javascript Alarme und Konsolennachrichten auf der Konsole ausgeben" msgstr "Javascript Alarme und Konsolennachrichten auf der Konsole ausgeben"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:626 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:635
msgid "" msgid ""
"%prog [options] file\n" "%prog [options] file\n"
"\n" "\n"
@ -8259,7 +8263,7 @@ msgstr "Geplant"
msgid "Custom" msgid "Custom"
msgstr "Angepasst" msgstr "Angepasst"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:457 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:453
msgid "" msgid ""
"%prog URL\n" "%prog URL\n"
"\n" "\n"
@ -8269,13 +8273,13 @@ msgstr ""
"\n" "\n"
"URL ist z.B. http://google.com" "URL ist z.B. http://google.com"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:460 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:456
msgid "Base directory into which URL is saved. Default is %default" msgid "Base directory into which URL is saved. Default is %default"
msgstr "" msgstr ""
"Grundverzeichnis, in das die URL gespeichert wird. Voreinstellung ist " "Grundverzeichnis, in das die URL gespeichert wird. Voreinstellung ist "
"%default" "%default"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:463 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:459
msgid "" msgid ""
"Timeout in seconds to wait for a response from the server. Default: %default " "Timeout in seconds to wait for a response from the server. Default: %default "
"s" "s"
@ -8283,7 +8287,7 @@ msgstr ""
"Timeout in Sekunden beim Warten auf eine Antwort vom Server. Voreinstellung: " "Timeout in Sekunden beim Warten auf eine Antwort vom Server. Voreinstellung: "
"%default s" "%default s"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:466 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:462
msgid "" msgid ""
"Maximum number of levels to recurse i.e. depth of links to follow. Default " "Maximum number of levels to recurse i.e. depth of links to follow. Default "
"%default" "%default"
@ -8291,7 +8295,7 @@ msgstr ""
"Maximale Zahl von einbezogenen Ebenen, z.B. Tiefe der Links, die verfolgt " "Maximale Zahl von einbezogenen Ebenen, z.B. Tiefe der Links, die verfolgt "
"werden. Voreinstellung %default" "werden. Voreinstellung %default"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:469 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:465
msgid "" msgid ""
"The maximum number of files to download. This only applies to files from <a " "The maximum number of files to download. This only applies to files from <a "
"href> tags. Default is %default" "href> tags. Default is %default"
@ -8299,7 +8303,7 @@ msgstr ""
"Höchstzahl der Dateien, die geladen werden. Dies trifft nur auf Dateien aus " "Höchstzahl der Dateien, die geladen werden. Dies trifft nur auf Dateien aus "
"<a href> Tags zu. Voreinstellung ist %default" "<a href> Tags zu. Voreinstellung ist %default"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:471 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:467
msgid "" msgid ""
"Minimum interval in seconds between consecutive fetches. Default is %default " "Minimum interval in seconds between consecutive fetches. Default is %default "
"s" "s"
@ -8307,7 +8311,7 @@ msgstr ""
"Kleinstes Intervall in Sekunden zwischen aufeinander folgenden Abrufen. " "Kleinstes Intervall in Sekunden zwischen aufeinander folgenden Abrufen. "
"Voreinstellung ist %default s" "Voreinstellung ist %default s"
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:473 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:469
msgid "" msgid ""
"The character encoding for the websites you are trying to download. The " "The character encoding for the websites you are trying to download. The "
"default is to try and guess the encoding." "default is to try and guess the encoding."
@ -8315,7 +8319,7 @@ msgstr ""
"Zeichenkodierung für Webseiten, die zu laden versucht werden. In der " "Zeichenkodierung für Webseiten, die zu laden versucht werden. In der "
"Voreinstellung wird versucht, die Kodierung zu erraten." "Voreinstellung wird versucht, die Kodierung zu erraten."
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:475 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:471
msgid "" msgid ""
"Only links that match this regular expression will be followed. This option " "Only links that match this regular expression will be followed. This option "
"can be specified multiple times, in which case as long as a link matches any " "can be specified multiple times, in which case as long as a link matches any "
@ -8326,7 +8330,7 @@ msgstr ""
"sie einem regulären Ausdruck entsprechen. In der Voreinstellung werden alle " "sie einem regulären Ausdruck entsprechen. In der Voreinstellung werden alle "
"Links verfolgt." "Links verfolgt."
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:477 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:473
msgid "" msgid ""
"Any link that matches this regular expression will be ignored. This option " "Any link that matches this regular expression will be ignored. This option "
"can be specified multiple times, in which case as long as any regexp matches " "can be specified multiple times, in which case as long as any regexp matches "
@ -8340,11 +8344,11 @@ msgstr ""
"Links ignoriert. Falls beide --filter-regexp und --match-regexp angegeben " "Links ignoriert. Falls beide --filter-regexp und --match-regexp angegeben "
"sind, wird --filter-regexp zuerst angewendet." "sind, wird --filter-regexp zuerst angewendet."
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:479 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:475
msgid "Do not download CSS stylesheets." msgid "Do not download CSS stylesheets."
msgstr "CSS-Stylesheets nicht herunterladen." msgstr "CSS-Stylesheets nicht herunterladen."
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:480 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:476
msgid "Show detailed output information. Useful for debugging" msgid "Show detailed output information. Useful for debugging"
msgstr "Detaillierte Ausgabeinformation anzeigen. Hilfreich zur Fehlersuche." msgstr "Detaillierte Ausgabeinformation anzeigen. Hilfreich zur Fehlersuche."

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre\n" "Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-12-10 20:44+0000\n" "POT-Creation-Date: 2009-12-11 23:27+0000\n"
"PO-Revision-Date: 2009-12-10 22:36+0000\n" "PO-Revision-Date: 2009-12-13 20:36+0000\n"
"Last-Translator: Bingen Markes <Unknown>\n" "Last-Translator: Bingen Markes <Unknown>\n"
"Language-Team: Basque <eu@li.org>\n" "Language-Team: Basque <eu@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-11 04:33+0000\n" "X-Launchpad-Export-Date: 2009-12-14 04:34+0000\n"
"X-Generator: Launchpad (build Unknown)\n" "X-Generator: Launchpad (build Unknown)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
@ -26,8 +26,8 @@ msgstr "Ez du ezer egiten"
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:53 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:53
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:756 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:765
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:759 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:768
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:189 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:189
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:410
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:67
@ -387,6 +387,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/ui.py:400 #: /home/kovid/work/calibre/src/calibre/customize/ui.py:400
msgid "Add a plugin by specifying the path to the zip file containing it." msgid "Add a plugin by specifying the path to the zip file containing it."
msgstr "" msgstr ""
"Gehigarria gehitu bera barnean duen ZIP fitxategiaren bidea adieraziz."
#: /home/kovid/work/calibre/src/calibre/customize/ui.py:402 #: /home/kovid/work/calibre/src/calibre/customize/ui.py:402
msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgid "Remove a custom plugin by name. Has no effect on builtin plugins"
@ -399,40 +400,44 @@ msgid ""
"Customize plugin. Specify name of plugin and customization string separated " "Customize plugin. Specify name of plugin and customization string separated "
"by a comma." "by a comma."
msgstr "" msgstr ""
"Pertsonalizatu gehigarria. Adierazi gehigarriaren izena eta "
"pertsonalizaturiko katea komaren bidez bereizturik."
#: /home/kovid/work/calibre/src/calibre/customize/ui.py:406 #: /home/kovid/work/calibre/src/calibre/customize/ui.py:406
msgid "List all installed plugins" msgid "List all installed plugins"
msgstr "Zerrendatu instalatutako pluginak" msgstr "Zerrendatu instalatutako gehigarriak"
#: /home/kovid/work/calibre/src/calibre/customize/ui.py:408 #: /home/kovid/work/calibre/src/calibre/customize/ui.py:408
msgid "Enable the named plugin" msgid "Enable the named plugin"
msgstr "" msgstr "Gaitu izendaturiko gehigarria."
#: /home/kovid/work/calibre/src/calibre/customize/ui.py:410 #: /home/kovid/work/calibre/src/calibre/customize/ui.py:410
msgid "Disable the named plugin" msgid "Disable the named plugin"
msgstr "" msgstr "Desgaitu izendaturiko gehigarria."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13
msgid "Communicate with Android phones." msgid "Communicate with Android phones."
msgstr "" msgstr "Adroid telefonoarekin komunikatu."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:25 #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:25
msgid "" msgid ""
"Comma separated list of directories to send e-books to on the device. The " "Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used" "first one that exists will be used"
msgstr "" msgstr ""
"e-Book-ak gailura bidaltzeko komaz bitartez bereizturitako direktorio "
"zerrenda. Lehengo aurkitu eta existitzen dena erabiliko da."
#: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:19 #: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:19
msgid "Communicate with the BeBook eBook reader." msgid "Communicate with the BeBook eBook reader."
msgstr "" msgstr "Komunikatu BeBook eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:95 #: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:95
msgid "Communicate with the BeBook Mini eBook reader." msgid "Communicate with the BeBook Mini eBook reader."
msgstr "" msgstr "Komunikatu BeBook Mini eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:12 #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:12
msgid "Communicate with the Blackberry smart phone." msgid "Communicate with the Blackberry smart phone."
msgstr "" msgstr "Komunikatu Backberry smart telefonoarekin."
#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13
#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24
@ -441,11 +446,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18
#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:88 #: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:88
msgid "Kovid Goyal" msgid "Kovid Goyal"
msgstr "" msgstr "Kovid Goyal"
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:21 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:21
msgid "Communicate with the Cybook Gen 3 eBook reader." msgid "Communicate with the Cybook Gen 3 eBook reader."
msgstr "" msgstr "Komunikatu Cybook Gen 3 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:22 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:22
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:86 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:86
@ -453,88 +458,88 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:30 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:30
msgid "John Schember" msgid "John Schember"
msgstr "" msgstr "John Schember"
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:74 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:76
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:76
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:78 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:78
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:134
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:133 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:136
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:111 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:111
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113
msgid "Transferring books to device..." msgid "Transferring books to device..."
msgstr "" msgstr "Liburuak gailura transferitzen..."
#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:85 #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:85
msgid "Communicate with the Cybook Opus eBook reader." msgid "Communicate with the Cybook Opus eBook reader."
msgstr "" msgstr "Komunikatu Cybook Opus eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:23 #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:23
msgid "Communicate with the EB600 eBook reader." msgid "Communicate with the EB600 eBook reader."
msgstr "" msgstr "Komunikatu EB600 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16
msgid "Communicate with the ESlick eBook reader." msgid "Communicate with the ESlick eBook reader."
msgstr "" msgstr "Komunikatu ESlick eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16
msgid "Communicate with the IRex Iliad eBook reader." msgid "Communicate with the IRex Iliad eBook reader."
msgstr "" msgstr "Komunikatu IRex Iliad eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/interface.py:22 #: /home/kovid/work/calibre/src/calibre/devices/interface.py:23
msgid "Device Interface" msgid "Device Interface"
msgstr "" msgstr "Gailu-interfazea"
#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16
msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
msgstr "" msgstr "Komunikatu IRex Digital Reader 1000 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15 #: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
msgid "Communicate with the Iriver Story reader." msgid "Communicate with the Iriver Story reader."
msgstr "" msgstr "Komunikatu Iriver Story irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:22 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:22
msgid "Communicate with the JetBook eBook reader." msgid "Communicate with the JetBook eBook reader."
msgstr "" msgstr "Komunikatu JetBook eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:23 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:23
msgid "James Ralston" msgid "James Ralston"
msgstr "" msgstr "James Ralston"
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:21 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:21
msgid "Communicate with the Kindle eBook reader." msgid "Communicate with the Kindle eBook reader."
msgstr "" msgstr "Komunikatu Kindle eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:66 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:66
msgid "Communicate with the Kindle 2 eBook reader." msgid "Communicate with the Kindle 2 eBook reader."
msgstr "" msgstr "Komunikatu Kindle 2 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:76
msgid "Communicate with the Kindle DX eBook reader." msgid "Communicate with the Kindle DX eBook reader."
msgstr "" msgstr "Komunikatu Kindle DX eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:16
msgid "The Nook" msgid "The Nook"
msgstr "" msgstr "Nook-a"
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:17
msgid "Communicate with the Nook eBook reader." msgid "Communicate with the Nook eBook reader."
msgstr "" msgstr "Komunikatu Nook eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17
msgid "Communicate with the Nuut2 eBook reader." msgid "Communicate with the Nuut2 eBook reader."
msgstr "" msgstr "Komunikatu Nuut2 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:87 #: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:87
msgid "Communicate with the Sony PRS-500 eBook reader." msgid "Communicate with the Sony PRS-500 eBook reader."
msgstr "" msgstr "Komunikatu Sony PRS-500 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:150 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:150
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:97 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:97
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:111 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:103
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55
@ -542,75 +547,77 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:81 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:81
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90
msgid "Getting list of books on device..." msgid "Getting list of books on device..."
msgstr "" msgstr "Liburu zerrenda gailutik eskuratzen..."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:26 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:26
msgid "Communicate with the Sony PRS-300/505/500 eBook reader." msgid "Communicate with the Sony PRS-300/505/500 eBook reader."
msgstr "" msgstr "Komunikatu Sony PRS-300/505/500 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:27 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:27
#: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:18
msgid "Kovid Goyal and John Schember" msgid "Kovid Goyal and John Schember"
msgstr "Kovid Goyal eta John Schember" msgstr "Kovid Goyal eta John Schember"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:164 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:167
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:171 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:174
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:131 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:131
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
msgid "Removing books from device..." msgid "Removing books from device..."
msgstr "Gailutik liburuak kentzen..." msgstr "Gailutik liburuak kentzen..."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:199 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:202
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:161 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:161
msgid "Sending metadata to device..." msgid "Sending metadata to device..."
msgstr "Metadatuak gailura bidaltzen..." msgstr "Metadatuak gailura bidaltzen..."
#: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:17 #: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:17
msgid "Communicate with the Sony PRS-600/700 eBook reader." msgid "Communicate with the Sony PRS-600/700 eBook reader."
msgstr "" msgstr "Komunikatu Sony PRS-600/700 eBook irakurgailuarekin."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:299 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:308
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:371 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:380
msgid "Unable to detect the %s disk drive. Try rebooting." msgid "Unable to detect the %s disk drive. Try rebooting."
msgstr "" msgstr "Ezin da %s disko unitatea detektatu. Saiatu berrabiarazten."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:439 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:448
msgid "Unable to detect the %s disk drive." msgid "Unable to detect the %s disk drive."
msgstr "" msgstr "Ezin da %s disko unitatea detektatu."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:532 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:541
msgid "Could not find mount helper: %s." msgid "Could not find mount helper: %s."
msgstr "" msgstr "Ezin da aurkitu muntatzaile laguntzailea: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:544 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:553
msgid "" msgid ""
"Unable to detect the %s disk drive. Your kernel is probably exporting a " "Unable to detect the %s disk drive. Your kernel is probably exporting a "
"deprecated version of SYSFS." "deprecated version of SYSFS."
msgstr "" msgstr ""
"Ezin da %s disko unitatea detektatu. Seguruenik zure kernelak SYSFS bertsio "
"zaharkitua esportatzen dago."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:552 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:561
msgid "Unable to mount main memory (Error code: %d)" msgid "Unable to mount main memory (Error code: %d)"
msgstr "" msgstr "Ezin da memoria nagusia muntatu. (Errore kodea: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:689 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:698
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:691 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:700
msgid "The reader has no storage card in this slot." msgid "The reader has no storage card in this slot."
msgstr "" msgstr "Irakurgailuak ez du memori-txartelik slot honetan."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:693 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:702
msgid "Selected slot: %s is not supported." msgid "Selected slot: %s is not supported."
msgstr "" msgstr "Aukeratutako slot-a: %s ez-onartua."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:724 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:733
msgid "There is insufficient free space in main memory" msgid "There is insufficient free space in main memory"
msgstr "" msgstr "Ez dago espazio libre nahikorik memori nagusian."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:726 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:735
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:728 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:737
msgid "There is insufficient free space on the storage card" msgid "There is insufficient free space on the storage card"
msgstr "" msgstr "Ez dago espazio libre nahikorik memori-txartelan."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:739 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:748
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:125
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1059 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1059
@ -621,55 +628,55 @@ msgstr "Berriak"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:11 #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:11
msgid "Configure Device" msgid "Configure Device"
msgstr "" msgstr "Konfiguratu gailua."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:18 #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:18
msgid "settings for device drivers" msgid "settings for device drivers"
msgstr "" msgstr "Gailu-kontrolatzailearen ezarpenak."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:20 #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:20
msgid "Ordered list of formats the device will accept" msgid "Ordered list of formats the device will accept"
msgstr "" msgstr "Gailuak onartuko dituen formatuen zerrenda ordenatua."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:22 #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:22
msgid "Place files in sub directories if the device supports them" msgid "Place files in sub directories if the device supports them"
msgstr "" msgstr "Gailuak onartzen badu, jarri fitxategiak azpidirektorioetan."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:24 #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:24
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:71
msgid "Read metadata from files on device" msgid "Read metadata from files on device"
msgstr "" msgstr "Irakurri metadatuak gailuan dauden fitxategietatik."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:27 #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:73
msgid "Extra customization" msgid "Extra customization"
msgstr "" msgstr "Extra pertsonalizasioa."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:29 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:29
msgid "Communicate with an eBook reader." msgid "Communicate with an eBook reader."
msgstr "" msgstr "Komunikatu eBook irakurgailu batekin."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41
msgid "Get device information..." msgid "Get device information..."
msgstr "" msgstr "Eskuratu gailuaren informazioa."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:119 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:119
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:127 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:127
msgid "Adding books to device metadata listing..." msgid "Adding books to device metadata listing..."
msgstr "" msgstr "Gailuaren metadatu zerrendara liburuak gehitzen..."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:150 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:150
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:155 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:155
msgid "Removing books from device metadata listing..." msgid "Removing books from device metadata listing..."
msgstr "" msgstr "Gailuaren metadatu zerrendatik liburuak kentzen..."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:196
msgid "Rendered %s" msgid "Rendered %s"
msgstr "" msgstr "Prozesatzen %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:199 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:199
msgid "Failed %s" msgid "Failed %s"
msgstr "" msgstr "Huts egin du: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:256 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:256
msgid "" msgid ""
@ -677,6 +684,9 @@ msgid ""
"\n" "\n"
"%s" "%s"
msgstr "" msgstr ""
"Ondorengo komikia prozesatzeak huts egin du: \n"
"\n"
"%s"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:274
msgid "" msgid ""
@ -684,25 +694,34 @@ msgid ""
"of less than 256 may result in blurred text on your device if you are " "of less than 256 may result in blurred text on your device if you are "
"creating your comics in EPUB format." "creating your comics in EPUB format."
msgstr "" msgstr ""
"Irudia gris-eskalara bihurtzeko koloreen zenbatekoa. Lehenetsia: %default. "
"256 baino txikiago diren balioak testu lausotuak eduki dezakete emaitza "
"bezala zure komikiak EPUB formatuan egiten bazabiltza."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278
msgid "" msgid ""
"Disable normalize (improve contrast) color range for pictures. Default: False" "Disable normalize (improve contrast) color range for pictures. Default: False"
msgstr "" msgstr ""
"Desgaitu irudientzako kolore tartearen normalizatzea (kontrastea obetzeko). "
"Lehenetsia: Desgaitua."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:281
msgid "Maintain picture aspect ratio. Default is to fill the screen." msgid "Maintain picture aspect ratio. Default is to fill the screen."
msgstr "" msgstr ""
"Mantendu irudiaren aspektu-erlazioa. Lehenetsia dagoena pantaila guztia "
"betetzea da."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283
msgid "Disable sharpening." msgid "Disable sharpening."
msgstr "" msgstr "Desgaitu fokatutzea"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285
msgid "" msgid ""
"Disable trimming of comic pages. For some comics, trimming might remove " "Disable trimming of comic pages. For some comics, trimming might remove "
"content as well as borders." "content as well as borders."
msgstr "" msgstr ""
"Desgaitu komiki orrialdeen moztura. Komiki batzuetan, mozturak ertzekin "
"batera edukia kendu dezake."
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288
msgid "Don't split landscape images into two portrait images" msgid "Don't split landscape images into two portrait images"
@ -1944,17 +1963,21 @@ msgid ""
"cp1252. Note: This option is not honored by all formats." "cp1252. Note: This option is not honored by all formats."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:22 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24
msgid "Do not extract images from the document" msgid "Do not extract images from the document"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:26
msgid "" msgid ""
"Scale used to determine the length at which a line should be unwrapped. " "Scale used to determine the length at which a line should be unwrapped. "
"Valid values are a decimal between 0 and 1. The default is 0.5, this is the " "Valid values are a decimal between 0 and 1. The default is 0.5, this is the "
"median line length." "median line length."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30
msgid "Use the new PDF conversion engine."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31
msgid "" msgid ""
"command ...\n" "command ...\n"
@ -3074,7 +3097,7 @@ msgid "RB Output"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1421
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "" msgstr ""
@ -5186,15 +5209,15 @@ msgstr ""
msgid "<b>Changes will only take effect after a restart.</b>" msgid "<b>Changes will only take effect after a restart.</b>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70
msgid " - LRF Viewer" msgid " - LRF Viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgid "<b>No matches</b> for the search phrase <i>%s</i> were found."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:389 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:389
msgid "No matches found" msgid "No matches found"
msgstr "" msgstr ""
@ -5665,7 +5688,7 @@ msgid "Save to disk in a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1523
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "" msgstr ""
@ -5700,7 +5723,7 @@ msgid "Calibre Library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1666
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "" msgstr ""
@ -5815,7 +5838,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1276
msgid "No books selected" msgid "No books selected"
msgstr "" msgstr ""
@ -5881,37 +5904,37 @@ msgstr ""
msgid "Fetching news from " msgid "Fetching news from "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1235
msgid " fetched." msgid " fetched."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "Cannot convert" msgid "Cannot convert"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1304
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1415
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1434
msgid "No book selected" msgid "No book selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1415
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "Cannot view" msgid "Cannot view"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1451
msgid "" msgid ""
"You are attempting to open %d books. Opening too many books at once can be " "You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once " "slow and have a negative effect on the responsiveness of your computer. Once "
@ -5919,97 +5942,97 @@ msgid ""
"continue?" "continue?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1466
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure" msgid "Cannot configure"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1508
msgid "Cannot configure while there are running jobs." msgid "Cannot configure while there are running jobs."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed info available" msgid "No detailed info available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1552
msgid "No detailed information is available for books on the device." msgid "No detailed information is available for books on the device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid "Error talking to device" msgid "Error talking to device"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1605
msgid "" msgid ""
"There was a temporary error talking to the device. Please unplug and " "There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot." "reconnect the device and or reboot."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "Conversion Error" msgid "Conversion Error"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1629
msgid "" msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must " "<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools." "first remove the DRM using third party tools."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1647
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Invalid library location" msgid "Invalid library location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1676
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/ui.py:1723 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1724
msgid "" msgid ""
"is the result of the efforts of many volunteers from all over the world. If " "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." "you find it useful, please consider donating to support its development."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1749
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/ui.py:1751 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1752
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/ui.py:1755 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1756
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1808
msgid "" msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the " "will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray." "context menu of the system tray."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1827
msgid "" msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a " "<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>" "href=\"%s\">%s</a></span>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid "Update available" msgid "Update available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1836
msgid "" msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-" "%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?" "ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -6164,7 +6187,7 @@ msgid "Options to customize the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:618 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:627
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "" msgstr ""
@ -6311,44 +6334,44 @@ msgstr ""
msgid "Loading flow..." msgid "Loading flow..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:457 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:466
msgid "Laying out %s" msgid "Laying out %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:486 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:495
msgid "Manage Bookmarks" msgid "Manage Bookmarks"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:530
msgid "Loading ebook..." msgid "Loading ebook..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:529 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:538
msgid "DRM Error" msgid "DRM Error"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:530 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:539
msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgid "<p>This book is protected by <a href=\"%s\">DRM</a>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:534 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:543
msgid "Could not open ebook" msgid "Could not open ebook"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:608 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617
msgid "Options to control the ebook viewer" msgid "Options to control the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:624
msgid "" msgid ""
"If specified, viewer window will try to come to the front when started." "If specified, viewer window will try to come to the front when started."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:629
msgid "Print javascript alert and console messages to the console" msgid "Print javascript alert and console messages to the console"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:626 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:635
msgid "" msgid ""
"%prog [options] file\n" "%prog [options] file\n"
"\n" "\n"
@ -7401,55 +7424,55 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:457 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:453
msgid "" msgid ""
"%prog URL\n" "%prog URL\n"
"\n" "\n"
"Where URL is for example http://google.com" "Where URL is for example http://google.com"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:460 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:456
msgid "Base directory into which URL is saved. Default is %default" msgid "Base directory into which URL is saved. Default is %default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:463 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:459
msgid "" msgid ""
"Timeout in seconds to wait for a response from the server. Default: %default " "Timeout in seconds to wait for a response from the server. Default: %default "
"s" "s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:466 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:462
msgid "" msgid ""
"Maximum number of levels to recurse i.e. depth of links to follow. Default " "Maximum number of levels to recurse i.e. depth of links to follow. Default "
"%default" "%default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:469 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:465
msgid "" msgid ""
"The maximum number of files to download. This only applies to files from <a " "The maximum number of files to download. This only applies to files from <a "
"href> tags. Default is %default" "href> tags. Default is %default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:471 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:467
msgid "" msgid ""
"Minimum interval in seconds between consecutive fetches. Default is %default " "Minimum interval in seconds between consecutive fetches. Default is %default "
"s" "s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:473 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:469
msgid "" msgid ""
"The character encoding for the websites you are trying to download. The " "The character encoding for the websites you are trying to download. The "
"default is to try and guess the encoding." "default is to try and guess the encoding."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:475 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:471
msgid "" msgid ""
"Only links that match this regular expression will be followed. This option " "Only links that match this regular expression will be followed. This option "
"can be specified multiple times, in which case as long as a link matches any " "can be specified multiple times, in which case as long as a link matches any "
"one regexp, it will be followed. By default all links are followed." "one regexp, it will be followed. By default all links are followed."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:477 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:473
msgid "" msgid ""
"Any link that matches this regular expression will be ignored. This option " "Any link that matches this regular expression will be ignored. This option "
"can be specified multiple times, in which case as long as any regexp matches " "can be specified multiple times, in which case as long as any regexp matches "
@ -7458,10 +7481,10 @@ msgid ""
"applied first." "applied first."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:479 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:475
msgid "Do not download CSS stylesheets." msgid "Do not download CSS stylesheets."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:480 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:476
msgid "Show detailed output information. Useful for debugging" msgid "Show detailed output information. Useful for debugging"
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

View File

@ -84,14 +84,15 @@ class CriticalError(Exception):
class Server(Thread): class Server(Thread):
def __init__(self, notify_on_job_done=lambda x: x, pool_size=None, def __init__(self, notify_on_job_done=lambda x: x, pool_size=None,
limit=sys.maxint): limit=sys.maxint, enforce_cpu_limit=True):
Thread.__init__(self) Thread.__init__(self)
self.daemon = True self.daemon = True
global _counter global _counter
self.id = _counter+1 self.id = _counter+1
_counter += 1 _counter += 1
limit = min(limit, cpu_count()) if enforce_cpu_limit:
limit = min(limit, cpu_count())
self.pool_size = limit if pool_size is None else pool_size self.pool_size = limit if pool_size is None else pool_size
self.notify_on_job_done = notify_on_job_done self.notify_on_job_done = notify_on_job_done
self.auth_key = os.urandom(32) self.auth_key = os.urandom(32)

View File

@ -60,7 +60,7 @@ class RecipeInput(InputFormatPlugin):
log.warn( log.warn(
'Downloaded recipe needs calibre version at least: %s' % \ 'Downloaded recipe needs calibre version at least: %s' % \
recipe.requires_version) recipe.requires_version)
builtin = True builtin = True
except: except:
log.exception('Failed to compile downloaded recipe. Falling ' log.exception('Failed to compile downloaded recipe. Falling '
'back to builtin one') 'back to builtin one')

View File

@ -92,7 +92,7 @@ def get_builtin_recipe_titles():
def download_builtin_recipe(urn): def download_builtin_recipe(urn):
br = browser() br = browser()
return br.open('http://status.calibre-ebook.com/recipe/'+urn).read() return br.open_novisit('http://status.calibre-ebook.com/recipe/'+urn).read()
def get_builtin_recipe_by_title(title, log=None, download_recipe=False): def get_builtin_recipe_by_title(title, log=None, download_recipe=False):

View File

@ -16,7 +16,7 @@ from calibre.gui2 import NONE
from calibre.utils.localization import get_language from calibre.utils.localization import get_language
from calibre.web.feeds.recipes.collection import \ from calibre.web.feeds.recipes.collection import \
get_builtin_recipe_collection, get_custom_recipe_collection, \ get_builtin_recipe_collection, get_custom_recipe_collection, \
SchedulerConfig SchedulerConfig, download_builtin_recipe
from calibre.utils.pyparsing import ParseException from calibre.utils.pyparsing import ParseException
class NewsTreeItem(object): class NewsTreeItem(object):
@ -129,13 +129,22 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser):
self.scheduler_config = SchedulerConfig() self.scheduler_config = SchedulerConfig()
self.do_refresh() self.do_refresh()
def get_recipe(self, urn): def get_builtin_recipe(self, urn, download=True):
if download:
try:
return download_builtin_recipe(urn)
except:
import traceback
traceback.print_exc()
return P('recipes/%s.recipe'%urn, data=True)
def get_recipe(self, urn, download=True):
coll = self.custom_recipe_collection if urn.startswith('custom:') \ coll = self.custom_recipe_collection if urn.startswith('custom:') \
else self.builtin_recipe_collection else self.builtin_recipe_collection
for recipe in coll: for recipe in coll:
if recipe.get('id', False) == urn: if recipe.get('id', False) == urn:
if coll is self.builtin_recipe_collection: if coll is self.builtin_recipe_collection:
return P('recipes/%s.recipe'%urn[8:], data=True) return self.get_builtin_recipe(urn[8:], download=download)
return self.db.get_feed(int(urn[len('custom:'):])) return self.db.get_feed(int(urn[len('custom:'):]))
def update_custom_recipe(self, urn, title, script): def update_custom_recipe(self, urn, title, script):
@ -332,7 +341,7 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser):
def get_to_be_downloaded_recipes(self): def get_to_be_downloaded_recipes(self):
ans = self.scheduler_config.get_to_be_downloaded_recipes() ans = self.scheduler_config.get_to_be_downloaded_recipes()
ans2 = [x for x in ans if self.get_recipe(x) is not None] ans2 = [x for x in ans if self.get_recipe(x, download=False) is not None]
for x in set(ans) - set(ans2): for x in set(ans) - set(ans2):
self.un_schedule_recipe(x) self.un_schedule_recipe(x)
return ans2 return ans2